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

Disassembly:
sub esp, 0x6c
push ebx
push ebp
mov ebp, dword [esp + 0x78]
push esi
push edi
xor edi, edi
lea eax, [esp + 0x5c]
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], edi
mov dword [ebp + 0x8d4], eax
call fcn.00469c70
lea esi, [ebp + 0xc4]
push 4
push esi
push ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x30], 1
call fcn.00467010
add esp, 0xc
test eax, eax
je 0x46ccdb
push 4
push 0x497bc0
push esi
call fcn.00470230
add esp, 0xc
test eax, eax
jne 0x46cce8
push ebp
call fcn.00466710
add esp, 4
cmp eax, edi
jne 0x46cdb2
xor ecx, ecx
push 2
mov cx, word [ebp + 0xc950]
push ecx
push ebp
call fcn.004677e0
add esp, 0xc
cmp eax, edi
je 0x46c915
cmp eax, 1
mov dword [esp + 0x10], eax
jg 0x46cdb2
mov eax, dword [ebp + 0xc914]
cmp eax, edi
je 0x46c92e
push eax
call fcn.0046fd2e
add esp, 4
mov dword [ebp + 0xc914], edi
xor edx, edx
push 3
mov dx, word [ebp + 0xc952]
push edx
push ebp
call fcn.004677e0
add esp, 0xc
cmp eax, edi
je 0x46c954
cmp eax, 1
mov dword [esp + 0x10], eax
jg 0x46cdb2
cmp dword [ebp + 0x6c], edi
jne 0x46ca14
mov eax, dword [ebp + 0x64]
xor esi, esi
cmp eax, edi
mov dword [esp + 0x14], edi
jbe 0x46c9cf
lea ebx, [ebp + 0xc9dc]
mov ecx, dword [ebp + 0xbc]
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ecx + esi*4]
push edx
push ebx
call fcn.00467d80
add esp, 0xc
test eax, eax
jne 0x46c995
mov eax, dword [ebp + 0x64]
inc esi
cmp esi, eax
jb 0x46c970
jmp 0x46c9cf
mov eax, dword [ebp + 0x68]
xor esi, esi
cmp eax, edi
mov dword [esp + 0x14], 1
jbe 0x46c9cf
mov ecx, dword [ebp + 0xc0]
mov eax, dword [ebp + 0x18]
push eax
mov edx, dword [ecx + esi*4]
push edx
push ebx
call fcn.00467d80
add esp, 0xc
test eax, eax
jne 0x46c9cb
mov eax, dword [ebp + 0x68]
inc esi
cmp esi, eax
jb 0x46c9a6
jmp 0x46c9cf
mov dword [esp + 0x14], edi
cmp dword [ebp + 0x6c], edi
jne 0x46ca14
cmp dword [esp + 0x14], edi
jne 0x46ca14
mov ax, word [ebp + 0xc954]
cmp ax, di
je 0x46ccb8
and eax, 0xffff
push edi
push eax
push ebp
call fcn.004677e0
add esp, 0xc
cmp eax, edi
je 0x46ccb8
cmp eax, 1
mov dword [esp + 0x10], eax
jg 0x46cdb2
jmp 0x46ccb8
mov eax, dword [ebp + 0xc914]
cmp eax, edi
je 0x46ca86
mov edx, dword [ebp + 0xc940]
lea ecx, [esp + 0x50]
push edi
push ecx
xor ecx, ecx
push edx
mov cx, word [ebp + 0xc952]
push 1
push ecx
push eax
call fcn.00466a70
add esp, 0x18
test al, 1
je 0x46ca86
lea edx, [esp + 0x54]
push edx
call fcn.00472582
mov ecx, eax
add esp, 4
cmp ecx, edi
je 0x46ca86
mov eax, dword [ecx + 0x14]
mov edi, 0x64
cdq
idiv edi
mov ebx, dword [ecx + 0x10]
mov esi, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 4]
inc ebx
mov dword [esp + 0x80], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
xor edi, edi
mov dword [esp + 0x18], edx
jmp 0x46cad5
mov ecx, dword [ebp + 0xc940]
xor edx, edx
mov eax, ecx
mov esi, 0x64
shr eax, 0x19
add eax, 0x50
mov ebx, ecx
div esi
mov eax, ecx
shr eax, 0x10
and eax, 0x1f
mov dword [esp + 0x80], eax
mov eax, ecx
mov esi, dword [esp + 0x80]
shr ebx, 0x15
shr eax, 0xb
shr ecx, 5
and ebx, 0xf
and eax, 0x1f
and ecx, 0x3f
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0x3c]
dec eax
je 0x46caeb
dec eax
jne 0x46caf6
mov eax, ebx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x18], esi
jmp 0x46caef
mov eax, ebx
mov ebx, esi
mov dword [esp + 0x80], eax
mov cl, byte [ebp + 0xc93c]
mov eax, dword [ebp + 0xc948]
test cl, 1
mov dword [esp + 0x38], eax
je 0x46cb12
sub eax, 0xc
mov dword [esp + 0x38], eax
mov edx, dword [ebp + 0xc94c]
push eax
push edx
call fcn.0046d0a0
add esp, 8
cmp eax, edi
jge 0x46cb40
mov ecx, 5
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
jmp 0x46cb54
lea ecx, [eax + 5]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x34], edx
mov dx, word [ebp + 0xc93e]
cmp dx, 0xb
mov dword [esp + 0x44], edx
jae 0x46cb71
and edx, 0xffff
jmp 0x46cb76
mov edx, 0xb
lea edi, [edx*8 + str.Stored]
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x48]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x40], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x40]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
cmp edx, 8
rep movsb byte es:[edi], byte [esi]
jne 0x46cbc0
mov cl, byte [ebp + 0xc93c]
shr ecx, 1
and ecx, 3
mov dl, byte [ecx + 0x4884d0]
mov byte [esp + 0x4d], dl
jmp 0x46cbe1
cmp edx, 0xb
jb 0x46cbe1
mov eax, dword [esp + 0x44]
and eax, 0xffff
push eax
lea eax, [esp + 0x50]
push str._03u
push eax
call fcn.0046fca8
add esp, 0xc
mov cl, byte [ebp + 0xc93c]
mov edx, dword [ebp + 0xc944]
and cl, 1
mov edi, dword [ebp + 0xcb28]
neg cl
sbb cl, cl
lea eax, [esp + 0x48]
and cl, 0x25
add cl, 0x20
push ecx
push edx
lea ecx, [ebp + 0x8d8]
push eax
lea edx, [ebp + 0xc9dc]
push ecx
push edx
call fcn.0046c820
add esp, 8
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x44]
push eax
mov eax, dword [ebp + 0x8d4]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esp + 0x40]
and cl, 0x10
neg cl
sbb cl, cl
and cl, 0x3e
add cl, 0x20
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x98]
push eax
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [ebp + 0xc94c]
push edx
push ebx
push eax
push esi
push ecx
call dword [edi + 0x14]
mov edx, dword [ebp + 0x38]
neg edx
sbb edx, edx
xor eax, eax
mov ax, word [ebp + 0xc954]
and edx, 0xfffffffb
add edx, 5
push edx
push eax
push ebp
call fcn.004677e0
add esp, 0xc
test eax, eax
je 0x46cc93
cmp eax, 1
mov dword [esp + 0x10], eax
jg 0x46cdb2
mov ecx, dword [ebp + 0xc94c]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x20]
add edx, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x28], edx
add ecx, esi
inc eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], eax
xor edi, edi
mov edx, dword [esp + 0x24]
lea esi, [ebp + 0xc4]
push 4
inc edx
push esi
push ebp
mov dword [esp + 0x30], edx
call fcn.00467010
add esp, 0xc
test eax, eax
jne 0x46c8c6
pop edi
pop esi
pop ebp
mov eax, 0x33
pop ebx
add esp, 0x6c
ret
mov edx, dword [esp + 0x24]
dec edx
cmp dx, word [ebp + 0xc96a]
jne 0x46cdad
cmp dword [ebp + 0x38], 2
jge 0x46cd70
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x28]
push eax
push ebx
call fcn.0046d0a0
add esp, 8
cmp eax, edi
jge 0x46cd30
mov ecx, 5
sub ecx, eax
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
jmp 0x46cd44
lea ecx, [eax + 5]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov ecx, dword [ebp + 0xcb28]
mov eax, dword [esp + 0x1c]
mov dword [ecx + 0x1c], eax
mov ecx, dword [ebp + 0xcb28]
mov dword [ecx + 0x20], ebx
mov eax, dword [ebp + 0xcb28]
mov dword [eax + 0x24], edx
mov ecx, dword [ebp + 0xcb28]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x28], edx
push 4
push 0x497bc8
push esi
call fcn.00470230
add esp, 0xc
test eax, eax
je 0x46cd8c
mov dword [esp + 0x10], 1
cmp dword [esp + 0x20], edi
jne 0x46cda1
cmp dword [esp + 0x10], 1
jg 0x46cda1
mov dword [esp + 0x10], 0xb
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret