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

Disassembly:
sub esp, 0x8c
mov edx, dword [esp + 0x90]
push ebx
mov ebx, dword [esp + 0xa8]
push ebp
mov ebp, dword [edx]
push esi
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
push edi
mov edi, dword [edx + 4]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x30], edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
test edi, edi
jge 0x42ce3a
add dword [esp + 0x24], edi
mov eax, edi
cdq
xor eax, edx
sub eax, edx
add ecx, eax
xor edi, edi
mov dword [esp + 0x50], ecx
mov dword [esp + 0x30], edi
test ebp, ebp
jge 0x42ce55
add dword [esp + 0x20], ebp
mov eax, ebp
cdq
xor eax, edx
sub eax, edx
add esi, eax
xor ebp, ebp
mov dword [esp + 0x4c], esi
mov dword [esp + 0x2c], ebp
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0xac]
add edx, edi
cmp edx, eax
jle 0x42ce6c
sub eax, edi
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
lea edx, [eax + ebp]
mov eax, dword [esp + 0xa8]
cmp edx, eax
jle 0x42ce84
sub eax, ebp
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
jle 0x42d5e3
mov edx, dword [esp + 0x24]
test edx, edx
jle 0x42d5e3
mov eax, dword [esp + 0xa4]
test eax, eax
je 0x42cf62
imul edi, dword [esp + 0xb0]
mov dword [esp + 0x1c], edi
mov edi, ebp
mov ebp, dword [esp + 0x1c]
add ebp, eax
mov eax, ecx
imul eax, dword [esp + 0xbc]
sar edi, 3
add eax, esi
add edi, ebp
add eax, ebx
test edx, edx
jle 0x42cfbd
mov ecx, dword [esp + 0x2c]
and ecx, 0x80000007
jns 0x42ceea
dec ecx
or ecx, 0xfffffff8
inc ecx
mov edx, dword [esp + 0x24]
mov ebp, eax
sub ebp, ebx
add ebp, dword [esp + 0xb8]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
jmp 0x42cf07
mov ecx, dword [esp + 0x1c]
mov dl, 0x80
shr dl, cl
cmp dword [esp + 0x20], 0
jle 0x42cf47
mov ecx, ebp
sub ecx, eax
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x20]
mov esi, eax
mov ebx, edi
mov dword [esp + 0x14], ecx
test byte [ebx], dl
je 0x42cf2e
xor ecx, ecx
jmp 0x42cf36
mov ecx, dword [esp + 0x28]
movzx ecx, byte [ecx + esi]
shr dl, 1
mov byte [esi], cl
jne 0x42cf3f
mov dl, 0x80
inc ebx
inc esi
sub dword [esp + 0x14], 1
jne 0x42cf26
mov ecx, dword [esp + 0xbc]
add edi, dword [esp + 0xb0]
add eax, ecx
add ebp, ecx
sub dword [esp + 0x18], 1
jne 0x42cf03
jmp 0x42cfbd
mov eax, ecx
imul eax, dword [esp + 0xbc]
add eax, esi
add eax, ebx
test edx, edx
jle 0x42cfaf
mov edx, dword [esp + 0x24]
mov edi, eax
sub edi, ebx
add edi, dword [esp + 0xb8]
cmp dword [esp + 0x20], 0
jle 0x42cf9f
mov ebp, dword [esp + 0x20]
mov esi, edi
mov ecx, eax
sub esi, eax
mov bl, byte [esi + ecx]
mov byte [ecx], bl
inc ecx
sub ebp, 1
jne 0x42cf94
mov ecx, dword [esp + 0xbc]
add eax, ecx
add edi, ecx
sub edx, 1
jne 0x42cf83
cmp dword [esp + 0xc0], 0
je 0x42d2b3
cmp dword [esp + 0xc4], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
jne 0x42cfdb
sub eax, dword [0x5f71c0]
sub ecx, dword [0x5f71bc]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
add eax, edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
add ecx, eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x18]
cmp dword [ecx + 0x5f72fc], 0
je 0x42d29b
mov eax, ecx
mov ecx, dword [eax + 0x5f73a0]
test ecx, ecx
je 0x42d035
cmp dword [eax + 0x5f73d0], 0
je 0x42d29b
test ecx, ecx
je 0x42d035
lea eax, [eax + 0x5f73c0]
jmp 0x42d03b
lea eax, [eax + 0x5f731c]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x84], edx
mov edx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x88], ecx
lea ecx, [esp + 0x84]
mov dword [esp + 0x8c], edx
push ecx
lea edx, [esp + 0x3c]
mov dword [esp + 0x94], eax
push edx
lea eax, [esp + 0x5c]
push eax
call dword [0x4b9294]
test eax, eax
je 0x42d29b
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x60]
sub ecx, eax
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x58]
mov edi, eax
sub edi, dword [esp + 0x38]
sub eax, dword [esp + 0x84]
add edi, dword [esp + 0x4c]
mov esi, ecx
sub esi, dword [esp + 0x3c]
sub ebx, ecx
sub ecx, dword [esp + 0x88]
add esi, dword [esp + 0x50]
cmp dword [0x4f3ea8], 0
mov ebp, eax
mov dword [esp + 0x80], ecx
je 0x42d0e2
call dword [0x4b939c]
mov ecx, dword [0x4f3eb4]
mov dword [esp + 0x14], eax
sub dword [esp + 0x14], ecx
imul esi, dword [esp + 0xbc]
mov ecx, dword [esp + 0x8c]
sub ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x18]
add esi, edi
add esi, dword [esp + 0xb4]
mov dword [esp + 0x48], ecx
mov edi, esi
mov esi, ecx
imul esi, dword [esp + 0x80]
cmp dword [edx + 0x5f73a0], 0
mov dword [esp + 0x28], edi
je 0x42d12a
add esi, dword [edx + 0x5f73d4]
jmp 0x42d130
add esi, dword [edx + 0x5f7330]
add esi, ebp
test ebx, ebx
jle 0x42d29b
fld qword [0x4d68b0]
mov dword [esp + 0x1c], ebx
mov ebx, 1
mov eax, dword [esp + 0x64]
test eax, eax
jle 0x42d27e
sub edi, esi
mov ebp, esi
mov dword [esp + 0x78], edi
mov dword [esp + 0x34], eax
mov al, byte [ebp]
test al, al
je 0x42d272
cmp dword [0x4f3ea8], 0
movzx cx, byte [edi + ebp]
movzx ecx, cx
mov dword [esp + 0x74], ecx
je 0x42d246
cmp dword [edx + 0x5f7358], 0
je 0x42d246
mov edi, dword [edx + 0x5f7354]
test edi, edi
je 0x42d246
mov ecx, dword [edx + 0x5f737c]
movzx ax, al
movzx ebx, ax
mov eax, dword [edx + 0x5f7380]
cmp dword [esp + 0x14], eax
jbe 0x42d238
test ecx, ecx
je 0x42d238
mov edx, dword [esp + 0x14]
sub edx, eax
mov dword [esp + 0x94], edx
fild dword [esp + 0x94]
test edx, edx
jge 0x42d1db
fadd qword [0x4d68c8]
mov dword [esp + 0x94], ecx
fild dword [esp + 0x94]
test ecx, ecx
jge 0x42d1f3
fadd qword [0x4d68c8]
fdivp st(1)
fmul st(1)
call fcn.004880e0
cmp edi, 1
jne 0x42d206
sub eax, 0xff
cmp eax, 0xff
jle 0x42d212
mov eax, 0xff
xor ecx, ecx
test eax, eax
setl cl
dec ecx
and eax, ecx
test edi, edi
jge 0x42d229
mov edx, 0xff
sub edx, eax
mov eax, edx
mov edx, dword [esp + 0x18]
imul ax, bx
shr ax, 8
movzx ebx, ax
mov eax, 0xff
sub eax, ebx
imul eax, dword [esp + 0x74]
jmp 0x42d258
movzx cx, al
mov eax, 0xff
sub ax, cx
imul ax, word [esp + 0x74]
mov ecx, dword [esp + 0x78]
mov edi, dword [esp + 0x78]
movzx eax, ax
shr eax, 8
mov byte [ecx + ebp], al
mov ecx, dword [esp + 0x48]
mov ebx, 1
add ebp, ebx
sub dword [esp + 0x34], ebx
jne 0x42d161
mov edi, dword [esp + 0x28]
add edi, dword [esp + 0xbc]
add esi, ecx
sub dword [esp + 0x1c], ebx
mov dword [esp + 0x28], edi
jne 0x42d149
fstp st(0)
mov eax, dword [esp + 0x18]
add eax, 0x150
cmp eax, 0x7e0
mov dword [esp + 0x18], eax
jl 0x42cfff
mov dword [esp + 0x18], 0x5f731c
mov dword [esp + 0x14], 0x6da2a4
jmp 0x42d2d0
mov edx, dword [esp + 0x14]
cmp dword [edx - 0x14], 0
je 0x42d44d
mov eax, edx
cmp dword [eax], 0
je 0x42d44d
mov ecx, dword [esp + 0x18]
cmp dword [ecx - 0x20], 0
je 0x42d44d
cmp dword [esp + 0xc4], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
jne 0x42d315
sub eax, dword [0x5f71c0]
sub ecx, dword [0x5f71bc]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
add eax, edx
mov edx, dword [esp + 0x18]
mov esi, dword [edx + 8]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
add ecx, eax
mov eax, dword [edx]
mov dword [esp + 0x40], ecx
mov ecx, dword [edx + 4]
mov edx, dword [edx + 0xc]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x14]
add eax, dword [edx - 8]
add ecx, dword [edx - 4]
mov dword [esp + 0x6c], esi
mov esi, dword [edx - 0x10]
add esi, eax
mov dword [esp + 0x64], eax
mov eax, dword [edx - 0xc]
add eax, ecx
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x64]
push ecx
lea edx, [esp + 0x3c]
mov dword [esp + 0x74], eax
push edx
lea eax, [esp + 0x5c]
push eax
mov dword [esp + 0x78], esi
call dword [0x4b9294]
test eax, eax
je 0x42d44d
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x60]
sub ebp, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov eax, esi
sub eax, dword [esp + 0x3c]
mov ecx, edx
add eax, dword [esp + 0x50]
sub ecx, dword [esp + 0x38]
imul eax, dword [esp + 0xbc]
add ecx, dword [esp + 0x4c]
sub edi, esi
sub esi, dword [esp + 0x68]
add eax, ecx
add eax, dword [esp + 0xb4]
mov ecx, ebp
imul ecx, esi
mov esi, dword [esp + 0x14]
add ecx, dword [esi + 4]
sub ebx, edx
sub edx, dword [esp + 0x64]
mov dword [esp + 0x28], eax
add ecx, edx
test edi, edi
jle 0x42d44d
mov dword [esp + 0x34], edi
mov edi, 1
test ebx, ebx
jle 0x42d43a
mov esi, ecx
mov edx, eax
sub esi, eax
mov dword [esp + 0x1c], ebx
nop
mov al, byte [esi + edx]
test al, al
je 0x42d42e
mov dword [esp + 0x48], ecx
movzx ax, al
mov ecx, 0xff
sub cx, ax
movzx ax, byte [edx]
imul cx, ax
shr cx, 8
mov byte [edx], cl
mov ecx, dword [esp + 0x48]
mov edi, 1
add edx, edi
sub dword [esp + 0x1c], edi
jne 0x42d400
mov eax, dword [esp + 0x28]
add eax, dword [esp + 0xbc]
add ecx, ebp
sub dword [esp + 0x34], edi
mov dword [esp + 0x28], eax
jne 0x42d3f1
mov eax, dword [esp + 0x18]
add dword [esp + 0x14], 0x2c
add eax, 0x150
cmp eax, 0x5f7afc
mov dword [esp + 0x18], eax
jl 0x42d2d0
cmp dword [0x4fdc00], 0
je 0x42d5d3
cmp dword [esp + 0xc4], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
jne 0x42d495
sub eax, dword [0x5f71c0]
sub ecx, dword [0x5f71bc]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x3c], eax
add eax, edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x38], ecx
add ecx, eax
mov dword [esp + 0x40], ecx
push 0x4fdc28
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x5c]
push edx
call dword [0x4b9294]
test eax, eax
je 0x42d5d3
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov eax, esi
sub eax, dword [esp + 0x3c]
mov ecx, edx
add eax, dword [esp + 0x50]
sub ecx, dword [esp + 0x38]
imul eax, dword [esp + 0xbc]
add ecx, dword [esp + 0x4c]
sub ebx, edx
add eax, ecx
add eax, dword [esp + 0xb4]
sub edi, esi
cmp dword [0x4fdc60], 0
mov ebp, eax
je 0x42d5b7
sub esi, dword [0x4fdc2c]
mov eax, dword [0x4fdc28]
mov dword [esp + 0x80], esi
mov esi, dword [0x4fdc30]
sub esi, eax
mov ecx, esi
imul ecx, dword [esp + 0x80]
sub edx, eax
add ecx, edx
add ecx, dword [0x4fdc64]
mov dword [esp + 0x48], esi
test edi, edi
jle 0x42d5d3
mov dword [esp + 0x28], edi
test ebx, ebx
jle 0x42d597
mov edi, ecx
mov eax, ebp
sub edi, ebp
mov dword [esp + 0x1c], ebx
mov dl, byte [edi + eax]
test dl, dl
je 0x42d58f
mov esi, dword [esp + 0x48]
mov dword [esp + 0x34], ecx
movzx dx, dl
mov ecx, 0xff
sub cx, dx
movzx dx, byte [eax]
imul cx, dx
shr cx, 8
mov byte [eax], cl
mov ecx, dword [esp + 0x34]
inc eax
sub dword [esp + 0x1c], 1
jne 0x42d562
add ebp, dword [esp + 0xbc]
add ecx, esi
sub dword [esp + 0x28], 1
jne 0x42d554
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
test edi, edi
jle 0x42d5d3
push ebx
push 0
push ebp
call fcn.00487bc0
add ebp, dword [esp + 0xc8]
add esp, 0xc
sub edi, 1
jne 0x42d5bb
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret