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

Disassembly:
sub esp, 0x78
mov eax, dword [0x46736624]
mov dword [esp + 0x74], eax
mov eax, dword [0x46739ac8]
push ebp
xor ebp, ebp
cmp eax, ebp
je 0x466fff42
push ebx
push esi
push edi
nop
cmp dword [0x46738c14], ebp
je 0x466fff3f
push 0x46738c08
mov dword [esp + 0x24], ebp
call fcn.466cff30
test eax, eax
je 0x466ff968
push ebp
lea eax, [esp + 0x50]
push eax
push 0x46738c08
call fcn.466cffe0
push eax
push 0x46738c08
call fcn.466cfbb0
mov esi, eax
cmp esi, ebp
je 0x466ff968
xor ecx, ecx
mov dword [esp + 0x5e], ecx
mov dword [esp + 0x62], ecx
mov dword [esp + 0x66], ecx
mov dword [esp + 0x6a], ecx
mov dword [esp + 0x6e], ecx
mov dword [esp + 0x72], ecx
push 0x14
mov dword [esp + 0x7a], ecx
lea edx, [esp + 0x60]
push edx
mov dword [esp + 0x82], ecx
push esi
mov dword [esp + 0x8a], ecx
push 0x46738c08
mov word [esp + 0x6c], bp
mov word [esp + 0x92], cx
call fcn.466d67b0
lea eax, [esp + 0x5c]
push 0x46724928
push eax
call fcn.4670625f
add esp, 8
test eax, eax
je 0x466ff918
push 0xf
push 0x46738c08
call fcn.466cfd40
test eax, eax
jne 0x466ff968
push esi
push 0x46738c08
call fcn.466cf7e0
test eax, eax
jne 0x466ff94a
cmp dword [0x46738c14], ebp
je 0x466ff94a
push 0x64
push 0x46738c08
call fcn.466cc360
push esi
push 0x46738c08
call fcn.466cf7e0
test eax, eax
je 0x466ff927
mov ecx, dword [esp + 0x4c]
push ecx
push 0x46738c08
call fcn.466d63e0
push 0x7d0
push 0x46738c08
call fcn.466cc360
push 0x46738c08
call fcn.466d0960
test eax, eax
je 0x466ffa11
cmp dword [0x46738844], ebp
je 0x466ffa11
cmp dword [0x46738c14], ebp
je 0x466ffa11
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x44]
push ecx
push 0x46738c08
call fcn.466d01f0
push 0x46738c08
call fcn.466d7580
push 0x2710
push 0x46738c08
call fcn.466cc360
push 0x46738c08
call fcn.466d0960
test eax, eax
jne 0x466ffa11
push 0x46738c08
call fcn.466d2990
mov edx, dword [esp + 0x34]
cmp eax, 0xd2
mov eax, dword [esp + 0x3c]
push ebp
jne 0x466ffa00
push 0x1f4
push ebp
push edx
push eax
push 0x46738c08
call fcn.466d7e40
jmp 0x466ffa11
mov ecx, dword [esp + 0x5c]
push ecx
push edx
push eax
push 0x46738c08
call fcn.466db2a0
push 0x46738c08
call fcn.466d0960
test eax, eax
jne 0x466fff24
cmp dword [0x46739ad4], ebp
je 0x466ffa7a
mov ecx, dword [0x46739b08]
push ecx
push 0x46738c08
call fcn.466d5f10
mov esi, eax
cmp esi, ebp
je 0x466ffa7a
push esi
push 0x46738c08
call fcn.466cc6a0
push 0x46738c08
mov edi, eax
mov ebx, edx
call fcn.466cd4f0
cmp edi, eax
jne 0x466ffa63
cmp ebx, edx
je 0x466ffa7a
push esi
push 0x46738c08
call fcn.466cc6a0
push edx
push eax
push 0x46738c08
call fcn.466d53d0
push 0x46738c08
call fcn.466cd4f0
or eax, edx
je 0x466ffc94
push 0x46738c08
call fcn.466cd4f0
and eax, ebp
and edx, 0x80000000
or eax, edx
jne 0x466ffc94
cmp dword [0x46739ad8], ebp
je 0x466ffb49
lea edx, [esp + 0x20]
push edx
push 0x46738c08
call fcn.466cd7c0
mov esi, eax
cmp esi, ebp
je 0x466ffb49
mov eax, dword [esp + 0x20]
push eax
push 0x46738c08
call fcn.466cd4f0
push edx
push eax
push esi
push 0x46738c08
call fcn.466cf220
cmp eax, ebp
je 0x466ffb49
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x30]
push edx
lea ecx, [esp + 0x30]
push ecx
push eax
push 0x46738c08
call fcn.466cecc0
test eax, eax
je 0x466ffb49
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push ebp
push edx
push eax
push ecx
push 0x46738c08
call fcn.466d72a0
fcomp qword [0x46724778]
fnstsw ax
test ah, 0x41
jne 0x466ffb49
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
push 0x46738c08
call fcn.466d79b0
cmp dword [0x46739acc], ebp
jne 0x466ffb5d
cmp dword [0x46739ad0], ebp
je 0x466ffc5b
lea edx, [esp + 0x20]
push edx
push 0x46738c08
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
call fcn.466cd7c0
mov esi, eax
mov eax, dword [esp + 0x20]
push eax
push 0x46738c08
call fcn.466cd4f0
push edx
push eax
push esi
push 0x46738c08
call fcn.466cf220
cmp dword [0x46739acc], ebp
je 0x466ffbe8
cmp eax, ebp
je 0x466ffbe8
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x1c]
push edx
push eax
push 0x46738c08
call fcn.466ce7e0
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
jle 0x466ffbe8
mov eax, dword [esp + 0x18]
imul eax, eax, 0x64
cdq
idiv ecx
cmp eax, dword [0x46739adc]
jg 0x466ffbe8
mov eax, dword [0x46739b00]
push eax
push 0x46738c08
call fcn.466dc780
push eax
push 0x46738c08
call fcn.466dc470
mov ecx, dword [esp + 0x20]
push ecx
push 0x46738c08
call fcn.466cd4f0
push edx
push eax
push esi
push 0x46738c08
call fcn.466cf220
cmp dword [0x46739ad0], ebp
je 0x466ffc5b
cmp eax, ebp
je 0x466ffc5b
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x1c]
push ecx
push eax
push 0x46738c08
call fcn.466ce7e0
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
jle 0x466ffc5b
mov eax, dword [esp + 0x18]
imul eax, eax, 0x64
cdq
idiv ecx
cmp eax, dword [0x46739ae0]
jg 0x466ffc5b
mov edx, dword [0x46739b04]
push edx
push 0x46738c08
call fcn.466dc780
push eax
push 0x46738c08
call fcn.466dc470
call fcn.466fedf0
call fcn.466ff100
test eax, eax
je 0x466ffc94
push 0x46738c08
call fcn.466cd4f0
push ebp
push ebp
push 0x46738c08
mov esi, eax
mov edi, edx
call fcn.466d53d0
call fcn.466e1450
push edi
push esi
push 0x46738c08
call fcn.466d53d0
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x30]
push edx
push 0x46738c08
call fcn.466d01f0
cmp dword [0x46739ae4], ebp
je 0x466fff24
cmp dword [0x46739ae8], ebp
je 0x466fff24
push 0x46738c08
call fcn.466cd4f0
mov dword [esp + 0x50], eax
lea eax, [esp + 0x30]
push eax
push 0x46738c08
mov dword [esp + 0x5c], edx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x20], 0x3e8
call fcn.466ce260
mov ebp, eax
test ebp, ebp
je 0x466fff0e
mov ecx, dword [esp + 0x30]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x1c], eax
jbe 0x466fff0e
push eax
push ebp
push 0x46738c08
call fcn.466cf1b0
mov esi, eax
test esi, esi
je 0x466ffe27
push esi
push 0x46738c08
call fcn.466d1810
push 0x46738c08
mov edi, eax
mov ebx, edx
call fcn.466d0890
cmp edi, eax
jne 0x466ffd4d
cmp ebx, edx
je 0x466ffe27
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x48]
push eax
push esi
push 0x46738c08
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
call fcn.466d18c0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
push eax
push 0x46738c08
call fcn.466d73f0
fild dword [0x46739ae8]
fcompp
fnstsw ax
test ah, 1
jne 0x466ffe27
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x18]
push edx
push esi
xor edi, edi
push 0x46738c08
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.466d1940
mov ecx, dword [esp + 0x14]
cmp ecx, edi
je 0x466ffe27
mov edi, dword [esp + 0x10]
test edi, edi
je 0x466ffe27
mov eax, dword [0x46739acc]
test eax, eax
je 0x466ffdff
mov eax, ecx
imul eax, eax, 0x64
xor edx, edx
div edi
cmp eax, dword [0x46739adc]
jbe 0x466ffe19
mov eax, dword [0x46739ad0]
test eax, eax
je 0x466ffe27
mov eax, ecx
imul eax, eax, 0x64
xor edx, edx
div edi
cmp eax, dword [0x46739ae0]
ja 0x466ffe27
cmp eax, dword [esp + 0x18]
jae 0x466ffe27
mov dword [esp + 0x38], esi
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jb 0x466ffd12
mov esi, dword [esp + 0x38]
xor edi, edi
cmp esi, edi
je 0x466fff0e
cmp dword [0x46738c14], edi
je 0x466fff0e
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push 0x46738c08
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.466d1940
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x466ffeb2
cmp dword [0x46739acc], edi
je 0x466ffeb2
mov eax, dword [esp + 0x14]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, dword [0x46739adc]
ja 0x466ffeb2
mov edx, dword [0x46739b00]
push edx
push 0x46738c08
call fcn.466dc780
push eax
push 0x46738c08
call fcn.466dc470
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x18]
push ecx
push esi
push 0x46738c08
mov dword [esp + 0x24], edi
mov dword [esp + 0x20], edi
call fcn.466d1940
mov ecx, dword [esp + 0x10]
cmp ecx, edi
je 0x466fff0e
cmp dword [0x46739ad0], edi
je 0x466fff0e
mov eax, dword [esp + 0x14]
imul eax, eax, 0x64
xor edx, edx
div ecx
cmp eax, dword [0x46739ae0]
ja 0x466fff0e
mov edx, dword [0x46739b04]
push edx
push 0x46738c08
call fcn.466dc780
push eax
push 0x46738c08
call fcn.466dc470
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
push eax
push ecx
push 0x46738c08
call fcn.466d53d0
xor ebp, ebp
push 0xfa
push 0x46738c08
call fcn.466cc360
cmp dword [0x46739ac8], ebp
jne 0x466ff860
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x78]
pop ebp
call fcn.4670569d
add esp, 0x78
ret