Function at 0x4de0f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x50
mov eax, dword [esp + 0x54]
push ebx
push ebp
push esi
push edi
lea edi, [eax + eax + 0x6000]
push 0
push 0x10
mov esi, ecx
push edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x70], 0
call fcn.004fa520
test eax, eax
jne 0x4de12a
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x50
ret 0x20
mov ebp, edi
push 0x10
and ebp, 0xffff
mov ecx, esi
push ebp
call fcn.004dcb60
mov ecx, dword [esp + 0x6c]
push 0x11
push ebp
mov dword [ecx], eax
mov ecx, esi
call fcn.004dcb60
mov ebx, dword [esp + 0x68]
push 0
push 0x40
push edi
mov ecx, esi
mov dword [ebx], eax
call fcn.004fa520
test eax, eax
je 0x4de17e
lea edx, [esp + 0x1c]
push 0
push edx
mov ecx, eax
call fcn.004fb150
test eax, eax
je 0x4de17e
mov eax, dword [esp + 0x70]
mov cl, byte [esp + 0x1c]
mov byte [eax], cl
push 0
push 0x50
push edi
mov ecx, esi
call fcn.004fa520
test eax, eax
je 0x4de1ae
lea edx, [esp + 0x10]
mov ecx, eax
push edx
call fcn.004fb140
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x10], eax
movsx edx, word [eax]
mov dword [ecx], edx
movsx eax, word [eax + 2]
mov dword [ecx + 4], eax
push 0x100
push ebp
mov ecx, esi
call fcn.004dcb60
mov ecx, dword [esp + 0x78]
push 0x102
push ebp
mov dword [ecx], eax
mov ecx, esi
call fcn.004dcb60
mov edx, dword [esp + 0x7c]
push 0
push 0x3000
push edi
mov ecx, esi
mov dword [edx], eax
call fcn.004fa520
test eax, eax
je 0x4de201
lea ecx, [esp + 0x64]
push ecx
mov ecx, eax
call fcn.004fb140
pop edi
pop esi
pop ebp
mov dword [esp + 0x58], eax
pop ebx
add esp, 0x50
ret 0x20
mov al, byte [esp + 0x80]
test al, al
je 0x4de4ac
push 0
mov ecx, esi
call fcn.004fc660
test eax, eax
mov dword [esp + 0x80], eax
je 0x4de4ac
mov edx, dword [esp + 0x6c]
mov eax, dword [edx]
imul eax, dword [ebx]
mov dword [esp + 0x70], eax
fild dword [esp + 0x70]
fmul qword [0x566e20]
fadd qword [0x554618]
call fcn.00540a50
mov ecx, dword [esp + 0x7c]
mov edi, eax
mov eax, 1
mov dword [esp + 0x18], edi
mov ecx, dword [ecx]
mov dword [esp + 0x3c], eax
shl eax, cl
mov ecx, esi
mov dword [esp + 0x40], 2
mov dword [esp + 0x44], 4
mov dword [esp + 0x48], 8
mov dword [esp + 0x4c], 0x10
mov dword [esp + 0x50], 0x20
mov dword [esp + 0x54], 0x40
mov dword [esp + 0x58], 0x80
mov dword [esp + 0x5c], 0x100
mov dword [esp + 0x70], eax
call fcn.004facf0
mov ecx, esi
mov dword [esi + 0xc64], eax
call fcn.004facd0
mov edx, dword [esi + 0xc64]
mov dword [esi + 0xc60], eax
cmp edx, dword [ebx]
jl 0x4de11e
mov ecx, dword [esp + 0x6c]
cmp eax, dword [ecx]
jl 0x4de11e
add edi, 0x10
push edi
call fcn.0053ff1e
mov ecx, edi
mov ebx, eax
mov edx, ecx
xor eax, eax
mov edi, ebx
add esp, 4
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 1
and ecx, 3
push 0x3000
rep stosb byte es:[edi], al
mov eax, dword [esp + 0x1c]
mov ecx, esi
push eax
mov dword [esp + 0x70], ebx
call fcn.004fa520
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x64]
push 0
push ecx
push edx
mov ecx, eax
call fcn.004f6780
mov eax, dword [esp + 0x78]
push 1
push 0x100
push ebp
mov ecx, esi
mov dword [eax], 1
call fcn.004dfda0
mov ecx, dword [esp + 0x7c]
push 0
push 0x102
push ebp
mov dword [ecx], 0
mov ecx, esi
call fcn.004dfda0
mov ecx, esi
call fcn.004fad10
cmp eax, 8
jne 0x4de407
mov ecx, dword [esp + 0x80]
push 0
call fcn.004fbe10
mov ecx, dword [esp + 0x6c]
mov edx, eax
xor eax, eax
xor edi, edi
mov ebp, dword [ecx]
mov dword [esp + 0x7c], edx
test ebp, ebp
mov dword [esp + 0x80], eax
jle 0x4de4ac
jmp 0x4de39a
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov ebp, dword [ecx + 4]
lea ebp, [eax + ebp - 1]
imul ebp, dword [esi + 0xc64]
add ebp, dword [ecx]
lea ecx, [edx + ebp - 1]
cmp ecx, edx
jb 0x4de3e9
mov edx, dword [esp + 0x68]
xor ebp, ebp
cmp dword [edx], ebp
jle 0x4de3e9
mov al, byte [esp + 0x70]
test byte [ecx], al
je 0x4de3ce
mov al, byte [esp + edi*4 + 0x3c]
or byte [ebx], al
inc edi
cmp edi, 8
jl 0x4de3da
xor edi, edi
inc ebx
mov byte [ebx], 0
mov eax, dword [edx]
inc ebp
inc ecx
cmp ebp, eax
jl 0x4de3c0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x6c]
inc eax
mov dword [esp + 0x80], eax
cmp eax, dword [ecx]
jl 0x4de396
mov eax, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x20
mov ecx, esi
call fcn.004fad10
cmp eax, 0x10
jne 0x4de4ac
mov ecx, dword [esp + 0x80]
push 0
call fcn.004fbe10
mov ecx, dword [esp + 0x6c]
xor edx, edx
xor ebp, ebp
mov dword [esp + 0x7c], eax
mov edi, dword [ecx]
mov dword [esp + 0x80], edx
test edi, edi
jle 0x4de4ac
mov ecx, dword [esp + 0x74]
mov edi, dword [ecx + 4]
lea edi, [edi + edx - 1]
imul edi, dword [esi + 0xc64]
add edi, dword [ecx]
lea ecx, [eax + edi*2 - 2]
cmp ecx, eax
jb 0x4de49c
mov eax, dword [esp + 0x68]
xor edi, edi
cmp dword [eax], edi
jle 0x4de498
movsx edx, word [ecx]
mov eax, dword [esp + 0x70]
test eax, edx
je 0x4de479
mov dl, byte [esp + ebp*4 + 0x3c]
mov al, byte [ebx]
or al, dl
mov byte [ebx], al
inc ebp
cmp ebp, 8
jl 0x4de485
xor ebp, ebp
inc ebx
mov byte [ebx], 0
mov eax, dword [esp + 0x68]
inc edi
add ecx, 2
cmp edi, dword [eax]
jl 0x4de464
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x6c]
inc edx
mov dword [esp + 0x80], edx
cmp edx, dword [ecx]
jl 0x4de43e
mov eax, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x20