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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x585ed9
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x64c194]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x20], ebx
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 4]
lea esi, [ebx + 0x14]
push ecx
mov ecx, esi
mov dword [esp + 0x44], esi
call fcn.0046af20
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
xor edi, edi
mov dword [esi + 8], edi
mov dword [eax], eax
mov esi, dword [esi + 4]
mov dword [esi + 8], esi
mov ecx, dword [ebx]
lea esi, [ebx + 0x40]
push esi
call fcn.00459cd0
test al, al
jne 0x46c408
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x64]
mov eax, dword [ecx + 0x68]
push esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x6c], eax
call fcn.00459d10
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x5c]
xor ebp, ebp
mov esi, ecx
add esi, eax
adc ebp, edx
push edi
add esi, 0xffffffff
push ecx
adc ebp, 0xffffffff
push ebp
push esi
call fcn.0052b9a0
xor ebp, ebp
cmp eax, 0xc
mov dword [esp + 0x24], eax
jae 0x46bf86
cmp eax, edi
mov dword [esp + 0x18], eax
jbe 0x46be3e
lea edx, [ebx + 0x68]
mov dword [esp + 0x1c], edx
jmp 0x46bd60
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
cmp eax, edi
mov dword [esp + 0x28], eax
je 0x46be2c
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0xd4], edi
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edi
call fcn.0046a5a0
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0xd8], 1
call fcn.0046b880
mov eax, dword [esp + 0x88]
cmp eax, edi
je 0x46bdd7
push eax
call fcn.00401000
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, edi
mov dword [esp + 0xd0], 0xffffffff
je 0x46bdf3
push eax
call fcn.00401000
add esp, 4
cmp dword [esp + 0x44], edi
jne 0x46bdfe
call fcn.0052b320
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
cmp esi, dword [ecx + 4]
jne 0x46be10
call fcn.0052b320
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x38]
push eax
lea ecx, [esi + 0x14]
mov dword [esi + 0x10], edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], ebp
call fcn.0046abc0
add dword [esp + 0x1c], 4
add ebp, 1
cmp ebp, dword [esp + 0x18]
jb 0x46bd60
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
add esi, 0xc
cmp eax, esi
mov dword [esp + 0x18], esi
jae 0x46be57
mov esi, eax
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x98]
cmp eax, edi
mov dword [esp + 0x34], eax
je 0x46bf93
push eax
lea ecx, [ebx + 0x20]
call fcn.0046ae50
cmp ebp, esi
mov dword [esp + 0x28], eax
jae 0x46bf95
lea esi, [ebp*4 - 0x30]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + ecx]
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x46bf74
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x88]
mov dword [esp + 0xd4], 2
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edi
call fcn.0046a5a0
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
mov byte [esp + 0xd8], 3
call fcn.0046b880
mov eax, dword [esp + 0x88]
cmp eax, edi
je 0x46bf01
push eax
call fcn.00401000
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, edi
mov dword [esp + 0xd0], 0xffffffff
je 0x46bf1d
push eax
call fcn.00401000
add esp, 4
cmp dword [esp + 0x44], edi
jne 0x46bf28
call fcn.0052b320
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
cmp ebx, dword [edx + 4]
jne 0x46bf3a
call fcn.0052b320
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x10], eax
lea ecx, [esp + 0x38]
add ebx, 0x14
push ecx
mov ecx, ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], 0xc
call fcn.0046abc0
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x74]
push eax
mov ecx, ebx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], esi
call fcn.0046abc0
add ebp, 1
add esi, 4
cmp ebp, dword [esp + 0x18]
jb 0x46be85
jmp 0x46bf95
mov dword [esp + 0x18], 0xc
jmp 0x46bd54
mov ebp, esi
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
lea esi, [ecx + edx + 0xc]
cmp eax, esi
mov dword [esp + 0x18], esi
jae 0x46bfb3
mov esi, eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x9c]
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x46c16c
add ecx, 0x20
push eax
call fcn.0046ae50
cmp ebp, esi
mov dword [esp + 0x64], eax
jae 0x46c16e
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov eax, dword [eax + ecx]
cmp eax, edi
mov dword [esp + 0x34], eax
je 0x46c159
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x20
call fcn.0046ae50
mov dword [esp + 0x70], eax
xor eax, eax
cmp ebp, esi
mov dword [esp + 0x28], eax
jae 0x46c15d
cmp eax, dword [esp + 0x2c]
jae 0x46c15d
mov edx, dword [esp + 0x70]
lea ebx, [eax*4]
mov ecx, dword [ebx + edx]
cmp ecx, edi
mov dword [esp + 0x6c], ecx
je 0x46c145
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0xd4], 4
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edi
call fcn.0046a5a0
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0xd8], 5
call fcn.0046b880
mov eax, dword [esp + 0x88]
cmp eax, edi
je 0x46c0a5
push eax
call fcn.00401000
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, edi
mov dword [esp + 0xd0], 0xffffffff
je 0x46c0c1
push eax
call fcn.00401000
add esp, 4
cmp dword [esp + 0x44], edi
jne 0x46c0cc
call fcn.0052b320
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
cmp esi, dword [eax + 4]
jne 0x46c0de
call fcn.0052b320
mov ecx, dword [esp + 0x6c]
mov dword [esi + 0x10], ecx
lea edx, [esp + 0x38]
add esi, 0x14
push edx
mov ecx, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], 0xd
call fcn.0046abc0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x74]
mov dword [esp + 0x78], ecx
push edx
mov ecx, esi
mov dword [esp + 0x78], eax
call fcn.0046abc0
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x94]
push ecx
mov ecx, esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ebx
call fcn.0046abc0
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
add eax, 1
add ebp, 1
cmp ebp, esi
mov dword [esp + 0x28], eax
jb 0x46c018
jmp 0x46c15d
add ebp, dword [esp + 0x2c]
add dword [esp + 0x1c], 4
cmp ebp, esi
jb 0x46bfe2
jmp 0x46c16e
mov ebp, esi
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x6c]
mov edx, dword [esp + 0x68]
add eax, edx
mov edx, dword [esp + 0x2c]
lea esi, [eax + edx + 0xc]
mov eax, dword [esp + 0x24]
cmp eax, esi
mov dword [esp + 0x18], esi
jae 0x46c197
mov esi, eax
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0xa0]
cmp eax, edi
mov dword [esp + 0x38], eax
je 0x46c408
mov ebx, ecx
add ebx, 0x20
push eax
mov ecx, ebx
mov dword [esp + 0x2c], ebx
call fcn.0046ae50
cmp ebp, esi
mov dword [esp + 0x6c], eax
jae 0x46c408
mov dword [esp + 0x24], edi
jmp 0x46c1d8
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x6c]
mov eax, dword [eax + ecx]
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x46c3f5
push eax
mov ecx, ebx
call fcn.0046ae50
cmp ebp, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c], edi
jae 0x46c3f9
jmp 0x46c210
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x1c], edx
jae 0x46c3f9
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
add eax, eax
add eax, eax
mov eax, dword [eax + ecx]
cmp eax, edi
mov dword [esp + 0x34], eax
je 0x46c3e2
mov ecx, dword [esp + 0x28]
push eax
call fcn.0046ae50
cmp ebp, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov dword [esp + 0x20], edi
jae 0x46c3e4
jmp 0x46c260
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x20], edx
jae 0x46c3e4
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
add ebx, ebx
add ebx, ebx
mov eax, dword [ebx + eax]
cmp eax, edi
mov dword [esp + 0x74], eax
je 0x46c3ce
mov dword [esp + 0x7c], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0xb8]
mov dword [esp + 0xd4], 6
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], edi
call fcn.0046a5a0
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0xd8], 7
call fcn.0046b880
mov eax, dword [esp + 0xb8]
cmp eax, edi
je 0x46c301
push eax
call fcn.00401000
add esp, 4
mov eax, dword [esp + 0x84]
cmp eax, edi
mov dword [esp + 0xd0], 0xffffffff
je 0x46c320
push eax
call fcn.00401000
add esp, 4
cmp dword [esp + 0x50], edi
jne 0x46c32b
call fcn.0052b320
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
cmp esi, dword [ecx + 4]
jne 0x46c33d
call fcn.0052b320
mov edx, dword [esp + 0x74]
mov dword [esi + 0x10], edx
lea eax, [esp + 0x94]
add esi, 0x14
push eax
mov ecx, esi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], 0xe
call fcn.0046abc0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0xa4]
mov dword [esp + 0xa4], ecx
push eax
mov ecx, esi
mov dword [esp + 0xac], edx
call fcn.0046abc0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
add eax, eax
lea edx, [esp + 0x9c]
mov dword [esp + 0x9c], ecx
add eax, eax
push edx
mov ecx, esi
mov dword [esp + 0xa4], eax
call fcn.0046abc0
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
call fcn.0046abc0
add dword [esp + 0x20], 1
add ebp, 1
cmp ebp, dword [esp + 0x18]
jb 0x46c260
jmp 0x46c3e4
add ebp, edx
add dword [esp + 0x1c], 1
cmp ebp, dword [esp + 0x18]
jb 0x46c210
jmp 0x46c3f9
add ebp, dword [esp + 0x68]
add dword [esp + 0x24], 4
cmp ebp, dword [esp + 0x18]
jb 0x46c1d0
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret