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

Disassembly:
sub esp, 0x64
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov dword [esp + 8], eax
mov dword [esp + 0x10], eax
or eax, 0xffffffff
push ebx
mov ebx, dword [esp + 0x6c]
push ebp
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x9c]
push esi
mov esi, dword [esp + 0x88]
push edi
mov edi, dword [ebx + 0x1c8]
push eax
push ecx
push edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x28], esi
mov dword [esp + 0x1c], edi
call fcn.0046c770
add esp, 0xc
test eax, eax
je 0x46ceb0
cmp dword [esp + 0x9c], edi
je 0x46cdb0
mov ebp, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
lea eax, [esp + 0x94]
lea ecx, [esp + 0x9c]
push eax
push ecx
push ebp
push edx
push ebx
mov dword [esp + 0xb0], edi
call fcn.0046c990
mov dword [ebx + 8], eax
mov eax, dword [esp + 0xb0]
add esp, 0x14
cmp eax, edi
mov dword [ebx + 0xc], edx
jne 0x46cd76
mov edi, dword [esp + 0xa8]
mov eax, dword [ebx + 0x38]
test eax, eax
lea ebp, [edi + 1]
mov dword [ebx + 0x34], ebp
je 0x46cdcd
push eax
call fcn.00450c17
add esp, 4
mov eax, dword [ebx + 0x40]
test eax, eax
je 0x46cddd
push eax
call fcn.00450c17
add esp, 4
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x46cded
push eax
call fcn.00450c17
add esp, 4
mov eax, dword [ebx + 0x34]
lea ecx, [eax*8 + 8]
push ecx
call fcn.004516a4
mov edx, dword [ebx + 0x34]
mov dword [ebx + 0x38], eax
mov eax, dword [ebx + 0x48]
shl edx, 5
push edx
push eax
call fcn.0046400a
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 0x4c]
shl ecx, 4
push ecx
push edx
mov dword [ebx + 0x48], eax
call fcn.0046400a
mov dword [ebx + 0x4c], eax
mov eax, dword [ebx + 0x34]
shl eax, 2
push eax
call fcn.004516a4
mov ecx, dword [ebx + 0x34]
mov dword [ebx + 0x40], eax
shl ecx, 3
push ecx
call fcn.004516a4
mov edx, dword [ebx + 0x34]
mov dword [ebx + 0x3c], eax
shl edx, 4
push edx
call fcn.004516a4
mov ecx, dword [esp + 0xb0]
mov dword [ebx + 0x44], eax
mov eax, dword [ebx + 0x38]
add esp, 0x20
mov dword [eax + ebp*8], esi
mov dword [eax + ebp*8 + 4], ecx
mov edx, dword [ebx + 0x38]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov dword [edx + edi*8], eax
mov dword [edx + edi*8 + 4], ecx
mov ecx, dword [esp + 0x98]
mov eax, dword [esp + 0x94]
test ecx, ecx
jg 0x46ce98
jl 0x46ce94
test eax, eax
jae 0x46ce98
xor eax, eax
xor ecx, ecx
mov edx, dword [ebx + 0x44]
shl edi, 4
mov dword [edi + edx + 8], eax
xor eax, eax
mov dword [edi + edx + 0xc], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
mov ebp, dword [esp + 0x88]
xor eax, eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
cmp ebp, dword [esp + 0x90]
jg 0x46cff9
mov edx, dword [esp + 0x84]
jl 0x46ceef
cmp edx, esi
jae 0x46cff9
jmp 0x46ceef
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ecx, esi
mov eax, edi
sub ecx, edx
sbb eax, ebp
test eax, eax
jg 0x46cf11
jl 0x46cf0d
cmp ecx, 0x10000
jae 0x46cf11
mov esi, edx
jmp 0x46cf24
add esi, edx
push 0
adc edi, ebp
push 2
push edi
push esi
call fcn.00455540
mov esi, eax
mov ebp, edx
cmp esi, dword [ebx + 8]
jne 0x46cf2e
cmp ebp, dword [ebx + 0xc]
je 0x46cf44
push ebp
push esi
push ebx
call fcn.0046cb80
cdq
mov ecx, eax
add esp, 0xc
or ecx, edx
jne 0x46d209
push 0xffffffffffffffff
lea edx, [esp + 0x48]
push 0xffffffffffffffff
push edx
push ebx
call fcn.0046c5b0
add esp, 0x10
cmp eax, 0xffffff80
mov dword [esp + 0x2c], eax
mov edi, edx
jne 0x46cf6a
cmp edi, 0xffffffff
je 0x46d211
test edi, edi
jl 0x46cfaf
jg 0x46cf74
test eax, eax
jb 0x46cfaf
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
push eax
lea edx, [esp + 0x48]
push ecx
push edx
call fcn.0046c750
add esp, 0xc
test eax, eax
je 0x46cfab
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], ecx
jmp 0x46cfc9
mov eax, dword [esp + 0x2c]
test edi, edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], ebp
jl 0x46cfc9
jg 0x46cfc1
test eax, eax
jb 0x46cfc9
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edi
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x88]
cmp eax, edx
jl 0x46cee1
jg 0x46cff1
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x84]
cmp ecx, eax
jb 0x46cee1
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x20]
lea eax, [edi + 1]
mov dword [ebx + 8], esi
cmp eax, edi
mov dword [ebx + 0xc], ebp
je 0x46d048
mov eax, dword [esp + 0xa4]
lea ecx, [esp + 0x24]
lea edx, [esp + 0x84]
push ecx
mov ecx, dword [esp + 0xa4]
push edx
push eax
push ecx
push ebx
mov dword [esp + 0x98], edi
call fcn.0046c990
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x98]
add esp, 0x14
cmp eax, edi
mov dword [ebx + 0xc], edx
jne 0x46d00a
mov edx, dword [ebx + 8]
cmp edx, esi
jne 0x46d056
mov eax, dword [ebx + 0xc]
cmp eax, ebp
je 0x46d06c
push ebp
push esi
push ebx
call fcn.0046cb80
cdq
mov ecx, eax
add esp, 0xc
or ecx, edx
jne 0x46d209
lea edx, [esp + 0x7c]
push 0
lea eax, [esp + 0x7c]
push edx
lea ecx, [esp + 0x3c]
push eax
lea edx, [esp + 0x60]
push ecx
push edx
push ebx
call fcn.0046c300
cdq
mov ecx, eax
add esp, 0x18
or ecx, edx
jne 0x46d209
mov edx, dword [ebx + 8]
mov eax, dword [ebx + 0xc]
mov edi, dword [ebx + 0x1c8]
lea ecx, [esp + 0x54]
push ecx
push ebx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x90], eax
call fcn.0046cbe0
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x84]
lea ebp, [edx + 1]
mov edx, dword [esp + 0xa4]
push ebp
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [esp + 0xa8]
push edx
mov edx, dword [esp + 0xa8]
push eax
mov eax, dword [esp + 0xa8]
push ecx
mov ecx, dword [ebx + 0xc]
push edx
mov edx, dword [ebx + 8]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
push esi
push ebx
call fcn.0046cd00
cdq
mov ecx, eax
add esp, 0x3c
or ecx, edx
jne 0x46d209
mov eax, dword [esp + 0x78]
test eax, eax
je 0x46d139
push eax
call fcn.00450c17
add esp, 4
mov edx, dword [ebx + 0x38]
mov eax, dword [esp + 0x20]
mov dword [edx + ebp*8], esi
lea esi, [esp + 0x54]
mov dword [edx + ebp*8 + 4], eax
mov ecx, dword [ebx + 0x40]
mov eax, dword [esp + 0x84]
mov dword [ecx + ebp*4], edi
mov edx, dword [ebx + 0x3c]
mov ecx, dword [esp + 0x88]
mov edi, ebp
mov dword [edx + ebp*8], eax
shl edi, 5
mov dword [edx + ebp*8 + 4], ecx
mov eax, dword [ebx + 0x48]
add edi, eax
mov ecx, 8
rep movsd dword es:[edi], dword [esi]
mov edx, dword [ebx + 0x4c]
mov eax, dword [esp + 0x34]
shl ebp, 4
add edx, ebp
mov esi, dword [esp + 0x18]
mov dword [edx], eax
mov ecx, dword [esp + 0x38]
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x3c]
mov dword [edx + 8], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0xa8]
mov dword [edx + 0xc], ecx
mov edx, dword [ebx + 0x44]
mov ecx, dword [esp + 0x24]
shl eax, 4
mov dword [eax + edx + 8], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + edx + 0xc], ecx
mov ecx, dword [ebx + 0x44]
mov edx, dword [esp + 0x14]
add ebp, ecx
mov dword [ebp], edx
mov dword [ebp + 4], esi
mov ecx, dword [ebx + 0x44]
mov edi, dword [eax + ecx + 0x18]
lea ecx, [eax + ecx + 0x18]
sub edi, edx
mov dword [ecx], edi
mov edx, dword [ecx + 4]
sbb edx, esi
mov dword [ecx + 4], edx
mov edx, dword [ebx + 0x44]
mov ecx, dword [eax + edx + 0x1c]
lea eax, [eax + edx + 0x18]
test ecx, ecx
jg 0x46d207
jl 0x46d1fa
cmp dword [eax], 0
jae 0x46d207
mov dword [eax], 0
mov dword [eax + 4], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x64
ret
pop edi
pop esi
pop ebp
mov eax, 0xffffff80
pop ebx
add esp, 0x64
ret