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

Disassembly:
sub esp, 0x50
push ebx
push ebp
xor ebx, ebx
push esi
push edi
cmp dword [0x4f4868], ebx
jne 0x42d60d
cmp dword [0x4f5c48], ebx
je 0x42ddd7
push 0x2d0
mov edi, 0x500
push edi
mov esi, 0x7f6
push esi
call fcn.00449090
mov eax, 0x4f275c
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov ebp, 0xfffffffe
add esp, 0xc
lea eax, [esp + 0x38]
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], 1
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebp
call fcn.00449a60
mov ecx, dword [0x4f4868]
lea eax, [ecx - 1]
cmp eax, 7
ja case.default.0x42d667
jmp dword [eax*4 + 0x42dde0]
mov edi, dword [0x4f4874]
mov ecx, dword [0x4f487c]
mov esi, dword [0x4f4878]
cmp edi, ebx
je 0x42d6a3
cmp esi, ebx
je 0x42d6b3
mov eax, dword [0x4f4880]
cdq
idiv esi
mov esi, eax
mov eax, ecx
cdq
idiv edi
cmp eax, esi
jle 0x42d69f
mov edi, eax
jmp 0x42d6c0
mov edi, esi
jmp 0x42d6c0
cmp esi, ebx
je 0x42d6bc
mov eax, dword [0x4f4880]
cdq
idiv esi
mov edi, eax
jmp 0x42d6c0
mov eax, ecx
cdq
idiv edi
mov edi, eax
jmp 0x42d6c0
mov edi, dword [esp + 0x10]
cmp edi, 1
jge 0x42d6ca
mov edi, 1
mov edx, dword [0x4f4874]
xor ebp, ebp
xor esi, esi
cmp edx, ebx
je 0x42d6eb
cmp ecx, ebx
je 0x42d6eb
mov eax, dword [0x4f4870]
imul eax, edx
cdq
idiv ecx
mov esi, ecx
sub esi, edx
mov edx, dword [0x4f4878]
cmp edx, ebx
je 0x42d710
cmp dword [0x4f4880], ebx
je 0x42d710
mov eax, dword [0x4f4870]
imul eax, edx
cdq
idiv dword [0x4f4880]
sub ecx, edx
mov ebp, ecx
mov eax, esi
neg eax
mov dword [esp + 0x28], eax
add eax, 0x500
mov ecx, ebp
neg ecx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x2c], ecx
add ecx, 0x2d0
mov dword [esp + 0x44], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], 0x7f6
mov dword [esp + 0x40], 0x4f275c
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], 0xfffffffe
call fcn.00449a60
push ebx
push ebx
push 0x80
lea ecx, [esp + 0x1c]
push ecx
mov edx, ecx
push edx
push 0x7f6
push 1
push 1
lea eax, [esp + 0x38]
lea ecx, [esp + 0x40]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], 0x500
mov dword [esp + 0x3c], 0x2d0
call fcn.0044e390
mov ecx, dword [0x4f4870]
mov eax, ecx
cdq
idiv edi
add ecx, dword [esp + 0x84]
add esp, 0x20
mov dword [0x4f4870], ecx
mov esi, eax
mov eax, ecx
cdq
idiv edi
cmp esi, eax
je case.default.0x42d667
jmp 0x42da56
cmp dword [0x4f486c], ebx
jne 0x42d808
mov eax, dword [esp + 0x64]
mov edx, dword [0x4f4888]
neg eax
lea eax, [edx + eax*8]
cmp eax, ebx
mov dword [0x4f4888], eax
jg 0x42d82e
xor ecx, ecx
mov dword [0x4f4868], ecx
xor eax, eax
jmp 0x42d829
mov edx, dword [0x4f4874]
mov eax, dword [0x4f4888]
cmp edx, eax
je 0x42d82e
mov edi, dword [esp + 0x64]
lea eax, [eax + edi*8]
cmp eax, edx
mov dword [0x4f4888], eax
jle 0x42d82e
mov eax, edx
mov dword [0x4f4888], eax
mov edx, dword [0x4f4870]
push edx
push eax
xor eax, eax
cmp ecx, 2
setne al
push eax
push esi
push 1
call fcn.0044e7c0
mov ecx, dword [0x4f4870]
mov edx, dword [esp + 0x78]
lea eax, [ecx + edx*4]
mov ecx, dword [0x4f486c]
add esp, 0x14
cmp ecx, ebx
mov dword [0x4f4870], eax
jle case.default.0x42d667
mov edx, dword [0x4f4868]
sub edx, 2
neg edx
sbb edx, edx
and edx, 0x230
add edx, 0x2d0
imul edx, ecx
cmp eax, edx
jmp 0x42dc8c
lea eax, [esp + 0x28]
mov ecx, eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], 0x2d0
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebp
call fcn.00449a60
mov eax, dword [0x4f486c]
mov edx, eax
and edx, 0x80000001
jns 0x42d8df
dec edx
or edx, ebp
inc edx
je 0x42d8f4
push 1
lea esi, [esp + 0x2c]
call fcn.00451560
mov eax, dword [0x4f486c]
add esp, 4
mov ecx, dword [0x4f4870]
add ecx, dword [esp + 0x64]
cmp ecx, 4
mov dword [0x4f4870], ecx
jl case.default.0x42d667
cmp eax, ebx
mov dword [0x4f4870], ebx
jle 0x42d924
sub eax, 1
mov dword [0x4f486c], eax
jmp 0x42da69
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
add ecx, ebp
mov dword [0x4f486c], ecx
jmp case.default.0x42d667
cmp dword [0x4f486c], ebp
jne 0x42d960
mov eax, 0x80
push 1
push 1
lea edi, [eax - 0x7f]
call fcn.0044d740
add esp, 8
mov dword [0x4f4868], ebx
jmp case.default.0x42d667
mov edx, dword [0x4f4870]
mov eax, dword [edx*4 + 0x4f488c]
cmp eax, ebx
je 0x42d982
push 1
push 1
mov edi, 1
call fcn.0044d740
add esp, 8
mov eax, dword [0x4f4870]
add eax, dword [esp + 0x64]
cmp eax, 0xff
jmp 0x42da45
mov edx, dword [0x4f4870]
mov eax, dword [0x4f4880]
mov ecx, dword [0x4f487c]
inc eax
imul eax, dword [edx*4 + 0x4f276c]
inc ecx
imul ecx, dword [edx*4 + 0x4f279c]
xor edx, edx
cmp eax, ebx
setl dl
lea esi, [eax + 0x2d0]
lea edi, [ecx + 0x500]
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], edi
dec edx
and edx, eax
xor eax, eax
cmp ecx, ebx
setl al
mov dword [esp + 0x2c], edx
dec eax
and eax, ecx
cmp esi, 0x2d0
mov dword [esp + 0x28], eax
jle 0x42d9f8
mov dword [esp + 0x34], 0x2d0
cmp edi, 0x500
jle 0x42da08
mov dword [esp + 0x30], 0x500
lea ecx, [esp + 0x28]
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], 0x7f6
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], 0x4f275c
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebp
call fcn.00449bd0
mov eax, dword [0x4f4870]
add eax, dword [esp + 0x64]
cmp eax, 0xc
mov dword [0x4f4870], eax
jl case.default.0x42d667
mov dword [0x4f4870], ebx
cmp dword [0x4f486c], ebx
jle case.default.0x42d667
sub dword [0x4f486c], 1
jne case.default.0x42d667
mov dword [0x4f4868], ebx
jmp case.default.0x42d667
mov esi, dword [0x912e58]
mov edi, dword [0x912e5c]
call fcn.004849c1
and eax, 0x8000001f
jns 0x42da97
dec eax
or eax, 0xffffffe0
inc eax
lea esi, [esi + eax - 0x10]
call fcn.004849c1
and eax, 0x8000001f
jns 0x42daac
dec eax
or eax, 0xffffffe0
inc eax
mov dword [0x912444], esi
lea eax, [edi + eax - 0x10]
mov esi, 1
push esi
mov dword [0x912448], eax
call fcn.00418640
mov eax, dword [0x4f4870]
add eax, dword [esp + 0x68]
add esp, 4
cmp eax, 8
mov dword [0x6da39c], ebx
mov dword [0x4f9e88], esi
mov dword [0x4f4870], eax
jl case.default.0x42d667
cmp dword [0x4f486c], ebx
mov dword [0x4f4870], ebx
jle case.default.0x42d667
sub dword [0x4f486c], esi
jne case.default.0x42d667
mov edx, dword [0x912e58]
mov eax, dword [0x912e5c]
mov dword [0x4f4868], ebx
mov dword [0x912444], edx
mov dword [0x912448], eax
jmp case.default.0x42d667
push 0x2d0
push edi
push 0x7d3
call fcn.00449090
mov eax, dword [0x4f4888]
sar eax, 2
cdq
mov ecx, 0x2d0
idiv ecx
add esp, 0xc
push 6
lea eax, [esp + 0x14]
mov dword [esp + 0x20], ecx
mov ecx, eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], edi
mov esi, edx
mov edx, dword [0x9130f0]
push edx
push ebx
push eax
push ecx
push 0x7d2
push 0x7f6
neg esi
push 0x7f6
lea eax, [esp + 0x38]
lea ecx, [esp + 0x40]
mov dword [esp + 0x34], esi
call fcn.0044e390
add esp, 0x20
cmp esi, ebx
je 0x42dbda
mov edx, dword [0x9130f0]
push 6
push edx
push ebx
lea eax, [esp + 0x1c]
push eax
mov ecx, eax
push ecx
push 0x7d2
push 0x7f6
add esi, 0x2d0
push 0x7f6
lea eax, [esp + 0x38]
lea ecx, [esp + 0x40]
mov dword [esp + 0x34], esi
call fcn.0044e390
add esp, 0x20
mov eax, dword [0x4f4888]
cmp dword [0x4f486c], ebx
jne 0x42dc03
mov edx, dword [esp + 0x64]
neg edx
lea eax, [eax + edx*8]
cmp eax, ebx
mov dword [0x4f4888], eax
jg 0x42dc17
mov dword [0x4f4868], ebx
xor eax, eax
jmp 0x42dc12
cmp dword [0x4f4874], eax
je 0x42dc17
mov ecx, dword [esp + 0x64]
lea eax, [eax + ecx*8]
mov dword [0x4f4888], eax
mov ecx, dword [0x4f4878]
cmp eax, ecx
jle 0x42dc23
mov eax, ecx
mov edx, dword [0x4f4870]
push edx
push eax
push 1
push 0x7f6
push 0x7d3
call fcn.0044e7c0
mov eax, dword [0x4f4888]
mov ecx, dword [0x4f4874]
add esp, 0x14
cmp eax, ecx
jle 0x42dc50
mov eax, ecx
mov ecx, dword [0x4f4870]
push ecx
push eax
push ebx
push 0x7d3
push 1
call fcn.0044e7c0
mov edx, dword [0x4f4870]
mov eax, dword [esp + 0x78]
lea ecx, [edx + eax*4]
mov eax, dword [0x4f486c]
add esp, 0x14
cmp eax, ebx
mov dword [0x4f4870], ecx
jle case.default.0x42d667
imul eax, eax, 0x2d0
cmp ecx, eax
jl case.default.0x42d667
mov dword [0x4f486c], ebx
cmp dword [0x4f5c48], ebx
je 0x42dd92
mov esi, dword [0x904a10]
cmp esi, ebx
je 0x42dcb9
mov ecx, dword [0x4f5c60]
push ecx
call fcn.00448fc0
add esp, 4
mov ecx, 0x9135f8
cmp dword [0x4f5c4c], ebx
je 0x42dcd3
movzx edx, word [0x4f5c58]
push 4
push ebx
push edx
jmp 0x42dcdd
movzx eax, word [0x4f5c58]
push ebx
push ebx
push eax
push 0x9135f8
push 0x9135f8
push 0x7f6
push 1
push 1
mov eax, 0x4f27cc
call fcn.0044e390
mov eax, dword [esp + 0x84]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add esp, 0x20
mov eax, 0x91320c
call fcn.00458040
fldz
cmp dword [0x913210], ebx
je 0x42dd4f
mov ecx, dword [0x913214]
fstp st(0)
fild dword [0x913214]
test ecx, ecx
jge 0x42dd37
fadd qword [0x4d68c8]
mov edx, dword [0x913218]
fild dword [0x913218]
test edx, edx
jge 0x42dd4d
fadd qword [0x4d68c8]
fdivp st(1)
fadd st(0), st(0)
fld1
fcom st(1)
fnstsw ax
test ah, 5
jp 0x42dd75
movzx eax, byte [0x4f5c50]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fxch st(2)
fsubrp st(1)
fmul st(1)
fsubp st(1)
jmp 0x42dd88
movzx ecx, byte [0x4f5c50]
fstp st(0)
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmulp st(1)
call fcn.004880e0
mov dword [0x4f5c58], eax
mov eax, dword [0x904a10]
cmp eax, ebx
je 0x42ddb5
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [0x904a10], ebx
mov dword [0x7f2660], ebx
mov byte [0x9012b4], bl
cmp dword [0x5fd048], ebx
jne 0x42ddd7
push 1
call fcn.00418640
add esp, 4
mov dword [0x6da39c], ebx
mov dword [0x4f9e88], 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret