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

Disassembly:
sub esp, 0xb4
push ebx
mov ebx, ecx
push ebp
xor eax, eax
push esi
push edi
mov ecx, 0xb
lea edi, [esp + 0x98]
rep stosd dword es:[edi], eax
mov ecx, 0xb
lea edi, [esp + 0x6c]
rep stosd dword es:[edi], eax
mov ebp, 1
mov ecx, 0xb
lea edi, [esp + 0x14]
rep stosd dword es:[edi], eax
mov edx, 0xf
mov ecx, 0xb
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
mov ecx, 0xc4
mov edi, 0x28
mov esi, 0x70e4
mov dword [ebx + 0x67c8], eax
mov dword [ebx + 0x67cc], eax
mov dword [ebx + 0x67d0], eax
mov eax, 0xc0
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], ebp
mov dword [ebx + 0x6ccc], 3
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], 0xbe
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], 0xc3
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x74], edi
mov dword [esp + 0x78], 0xa0
mov dword [esp + 0x7c], 0xa
mov dword [esp + 0x80], edx
mov dword [esp + 0x84], esi
mov dword [esp + 0x88], 0xc5
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], 0xc9
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0xa0
mov dword [esp + 0x24], 0xa
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 0xca
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], 0xa0
mov dword [esp + 0x50], 0xa
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], 0xc5
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 0xc9
lea ebp, [ebx + 0x6a20]
mov dword [esp + 0x10], 4
lea esp, [esp]
mov eax, dword [ebp + 0x30]
sub eax, dword [ebx + 0x6cc8]
add eax, 3
and eax, 0x80000003
jns 0x406818
dec eax
or eax, 0xfffffffc
inc eax
jne 0x40684b
sub esp, 0x50
mov edi, esp
mov ecx, 0x14
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x2c
mov edi, esp
mov ecx, 0xb
lea esi, [esp + 0xe8]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x1b14]
call fcn.004029e0
jmp 0x4068e2
cmp eax, 1
jne 0x40687e
sub esp, 0x50
mov edi, esp
mov ecx, 0x14
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x2c
mov edi, esp
mov ecx, 0xb
lea esi, [esp + 0x90]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x349c]
call fcn.00402d40
jmp 0x4068e2
cmp eax, 2
jne 0x4068b1
sub esp, 0x50
mov edi, esp
mov ecx, 0x14
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x2c
mov edi, esp
mov ecx, 0xb
lea esi, [esp + 0xbc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x4e24]
call fcn.00403030
jmp 0x4068e2
cmp eax, 3
jne 0x4068e2
sub esp, 0x50
mov edi, esp
mov ecx, 0x14
mov esi, ebp
rep movsd dword es:[edi], dword [esi]
sub esp, 0x2c
mov edi, esp
mov ecx, 0xb
lea esi, [esp + 0x114]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebx + 0x18c]
call fcn.004034e0
mov eax, dword [esp + 0x10]
add ebp, 0x50
dec eax
mov dword [esp + 0x10], eax
jne 0x406800
lea edi, [ebx + 0x6984]
mov dword [ebx + 0x6cd0], 0
mov ecx, 0x21
or eax, 0xffffffff
rep stosd dword es:[edi], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb4
ret