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

Disassembly:
sub esp, 0x138
push ebx
push ebp
push esi
mov esi, ecx
mov eax, dword [esi + 0x94c]
mov ebp, dword [eax + 0x28]
mov ecx, dword [esi + 0x950]
mov eax, dword [eax + 0x2c]
xor ebx, ebx
cmp ecx, ebx
push edi
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], eax
je 0x42704d
mov edx, dword [ecx]
mov eax, dword [edx + 0x10]
call eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jmp 0x427055
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov eax, dword [esi + 0x94c]
mov ecx, dword [esi + 0x950]
cmp ecx, ebx
mov edx, dword [eax + 0x20]
mov edi, dword [eax + 0x24]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], edi
je 0x427088
mov edx, dword [ecx]
mov eax, dword [edx + 0xc]
call eax
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jmp 0x427090
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
cmp edi, ebx
mov byte [esp + 0x13], bl
jg 0x4270af
jl 0x42709e
cmp edx, ebx
jae 0x4270af
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov byte [esp + 0x13], 1
mov edi, ebx
mov edx, ebx
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x40]
mov ecx, ebp
or ecx, ebx
je 0x4270e7
cmp edi, ebx
jl 0x4270d1
jg 0x4270c7
cmp edx, ebp
jb 0x4270d1
mov dword [esp + 0x14], 0x1000
jmp 0x4270e7
mov eax, edi
shld eax, edx, 0xc
push ebx
push ebp
shl edx, 0xc
push eax
push edx
call fcn.005f84a0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, eax
or ecx, edx
je 0x42713c
mov ecx, dword [esp + 0x28]
cmp ecx, edx
jl 0x42710c
jg 0x427105
cmp dword [esp + 0x24], eax
jb 0x42710c
mov eax, 0x1000
jmp 0x427123
push dword [esp + 0x1c]
mov edx, dword [esp + 0x28]
shld ecx, edx, 0xc
push eax
shl edx, 0xc
push ecx
push edx
call fcn.005f84a0
add dword [esp + 0x14], eax
mov eax, ebp
or eax, ebx
je 0x42713c
mov ecx, dword [esi + 0x94c]
cmp byte [ecx + 0x80], 0
je 0x427147
mov edx, dword [esp + 0x14]
lea eax, [edx + edx]
mov dword [esp + 0x14], eax
cmp byte [esp + 0x13], 0
je 0x427168
mov ebx, dword [esp + 0x14c]
push str.Preloading...
push 0x3e8
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
jmp 0x4271a1
mov ecx, dword [esp + 0x2c]
push ebx
push ebp
push edi
push ecx
lea edx, [esp + 0x58]
push str._I64d__I64d
push edx
call fcn.005f83e4
mov ecx, dword [esp + 0x164]
add esp, 0x18
lea eax, [esp + 0x48]
push eax
push 0x3e8
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov ebx, dword [esp + 0x14c]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
push edx
lea eax, [esp + 0x58]
push str._I64d__I64d
push eax
call fcn.005f83e4
add esp, 0x18
lea ecx, [esp + 0x48]
push ecx
push 0x3e9
push ebx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov eax, dword [esi + 0x94c]
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
lea ecx, [esp + 0x50]
push 0x100
push ecx
call fcn.0044d3e0
mov edi, dword [esi + 0x94c]
mov eax, dword [edi + 0x78]
add esp, 0x10
test eax, eax
mov dword [esp + 0x44], eax
je 0x427275
cmp byte [esp + 0x48], 0
lea eax, [esp + 0x48]
mov dword [esp + 0x20], eax
je 0x427223
add eax, 1
cmp byte [eax], 0
jne 0x427217
mov dword [esp + 0x20], eax
mov eax, dword [edi]
mov edx, dword [edi + 4]
add eax, 0x200
adc edx, 0
mov cl, 0xa
call fcn.005f8600
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
fild qword [esp + 0x34]
lea ecx, [edi + 0x60]
fidiv dword [esp + 0x44]
fstp qword [esp + 0x34]
call fcn.0051dc1d
fmul qword [esp + 0x34]
sub esp, 8
fstp qword [esp]
call fcn.00519e42
mov edx, dword [esp + 0x28]
push eax
push str.___3ldKB_s_
push edx
call fcn.005f83e4
add esp, 0x14
mov edi, dword [sym.imp.USER32.dll_SetDlgItemTextA]
lea eax, [esp + 0x48]
push eax
push 0x3ec
push ebx
call edi
mov eax, dword [esi + 0x948]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x50]
push 0x100
push eax
call fcn.0044d3e0
add esp, 0x10
lea ecx, [esp + 0x48]
push ecx
push 0x3ed
push ebx
call edi
fld1
xor edi, edi
xor ebx, ebx
or ebp, dword [esp + 0x40]
je 0x42730b
mov eax, dword [esp + 0x2c]
or eax, dword [esp + 0x30]
je 0x42730b
fst qword [esp + 0x34]
fild qword [esp + 0x3c]
fild qword [esp + 0x2c]
fdivp st(1)
fst qword [esp + 0x3c]
fcompp
fnstsw ax
test ah, 5
lea eax, [esp + 0x34]
jnp 0x4272ed
lea eax, [esp + 0x3c]
mov edx, dword [esi + 0x94c]
fild qword [edx]
sub esp, 8
fmul qword [eax]
fstp qword [esp]
call fcn.00519e5d
fld1
add esp, 8
mov edi, eax
mov ebx, edx
mov eax, dword [esp + 0x18]
or eax, dword [esp + 0x1c]
je 0x427360
mov eax, dword [esp + 0x24]
or eax, dword [esp + 0x28]
je 0x427360
fst qword [esp + 0x34]
fild qword [esp + 0x18]
fild qword [esp + 0x24]
fdivp st(1)
fst qword [esp + 0x3c]
fcompp
fnstsw ax
test ah, 5
lea eax, [esp + 0x34]
jnp 0x427342
lea eax, [esp + 0x3c]
mov ecx, dword [esi + 0x948]
fild qword [ecx]
sub esp, 8
fmul qword [eax]
fstp qword [esp]
call fcn.00519e5d
add esp, 8
add edi, eax
adc ebx, edx
jmp 0x427362
fstp st(0)
mov edx, edi
or edx, ebx
je 0x4273f1
add edi, 0x810
adc ebx, 0
mov eax, edi
add eax, 0x3ff
mov edx, ebx
adc edx, 0
mov cl, 0xa
call fcn.005f8600
test edx, edx
jg 0x4273a3
jl 0x427395
cmp eax, 0x10000
jae 0x4273a3
push edx
push eax
push str._ldK
lea eax, [esp + 0x54]
push eax
jmp 0x4273d4
push 0
push 0x64
push ebx
push edi
call fcn.005f8550
mov cl, 0x14
call fcn.005f8600
push 0
push 0x64
push edx
push eax
call fcn.005f9e30
push ecx
push eax
push str._ld._02dMB
lea ecx, [esp + 0x54]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x44], edx
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov eax, dword [esp + 0x15c]
add esp, 0x10
lea edx, [esp + 0x48]
push edx
push 0x3ee
push eax
jmp 0x427403
mov ecx, dword [esp + 0x14c]
push str.unknown
push 0x3ee
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
call sub.KERNEL32.dll_GetTickCount
mov edi, eax
sub edi, dword [esi + 0x14]
lea edx, [esp + 0x48]
push edi
push 0x100
push edx
call fcn.0044d260
mov ebx, dword [esp + 0x158]
mov ebp, dword [sym.imp.USER32.dll_SetDlgItemTextA]
add esp, 0xc
lea eax, [esp + 0x48]
push eax
push 0x3eb
push ebx
call ebp
mov eax, dword [esp + 0x14]
cmp eax, 0x10
jle 0x427476
push eax
push 0x2000
push edi
call dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
lea ecx, [esp + 0x4c]
push 0x100
push ecx
call fcn.0044d260
add esp, 0xc
lea edx, [esp + 0x48]
push edx
push 0x3ea
push ebx
call ebp
mov ebx, dword [esi + 0x94c]
mov eax, dword [ebx + 0x78]
cdq
mov ecx, eax
xor edi, edi
or ecx, edx
je 0x427571
mov ecx, dword [esi + 0x118]
lea edx, [ecx - 1]
and edx, 0x1f
cmp dword [esi + edx*8 + 0x18], eax
je 0x4274d2
mov edx, dword [ebx + 0x7c]
sub edx, dword [esi + 0x14]
mov dword [esi + ecx*8 + 0x18], eax
mov dword [esi + ecx*8 + 0x1c], edx
mov eax, dword [esi + 0x11c]
cmp eax, 0x20
jge 0x4274c0
add eax, 1
mov dword [esi + 0x11c], eax
mov eax, dword [esi + 0x118]
add eax, 1
and eax, 0x1f
mov dword [esi + 0x118], eax
mov eax, dword [esi + 0x118]
mov edx, dword [esi + 0x11c]
lea ecx, [eax - 1]
and ecx, 0x1f
mov ebx, 2
sub edx, 1
cmp edx, ebx
lea ebp, [esi + ecx*8 + 0x18]
mov dword [esp + 0x44], ebp
jle 0x427571
mov ecx, dword [ebp + 4]
add eax, 0xfffffffd
mov dword [esp + 0x18], ecx
mov dword [esp + 0x20], eax
jmp 0x427514
mov ebp, dword [esp + 0x44]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
and edx, 0x1f
sub ecx, dword [esi + edx*8 + 0x1c]
lea edx, [esi + edx*8 + 0x18]
je 0x427571
mov eax, dword [ebp]
sub eax, dword [edx]
mov edx, 0x186a0
mul edx
mov edi, eax
mov eax, ecx
shr eax, 1
mov ebp, edx
cdq
add edi, eax
adc ebp, edx
mov eax, ecx
cdq
push edx
push eax
push ebp
push edi
call fcn.005f84a0
mov edi, eax
mov eax, 0x186a0
cdq
idiv ebx
cmp edi, eax
jg 0x427571
mov eax, dword [esi + 0x11c]
sub dword [esp + 0x20], 1
add ebx, 1
sub eax, 1
cmp ebx, eax
jl 0x427510
mov eax, 0x51eb851f
imul edi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov ecx, eax
imul ecx, ecx, 0x64
sub edi, ecx
push edi
push eax
lea edx, [esp + 0x50]
push str._u._02u_fps
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x15c]
add esp, 0x10
lea eax, [esp + 0x48]
push eax
push 0x3ef
push ecx
call dword [sym.imp.USER32.dll_SetDlgItemTextA]
mov edx, dword [0x6b48ac]
push 0xfffffffffffffff0
push edx
call dword [sym.imp.USER32.dll_GetWindowLongA]
test eax, 0x20000000
je 0x42761f
mov eax, dword [esp + 0x14]
imul eax, eax, 0x19
cdq
and edx, 0x7ff
add eax, edx
mov edi, eax
mov ebx, 1
sar edi, 0xb
cmp dword [esi + 4], ebx
jne 0x4275f0
cmp dword [esi + 8], edi
je 0x427648
push 0x6b4698
call fcn.0051e4cf
push eax
mov eax, dword [0x6b48ac]
push edi
push 5
push eax
call fcn.0044d870
add esp, 0x14
mov dword [esi + 8], edi
pop edi
mov dword [esi + 4], ebx
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 4
mov eax, 2
cmp dword [esi + 4], eax
je 0x427648
push 0x6b4698
mov dword [esi + 4], eax
call fcn.0051e4cf
mov ecx, dword [0x6b48ac]
push eax
push 4
push ecx
call fcn.0044d870
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x138
ret 4