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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x110
mov ebp, dword [esp + 0x124]
push ebp
call fcn.00406f78
pop ecx
mov dword [0x412700], 0xd3a3b879
lea edx, [esp + 0x10]
xor eax, eax
mov dword [0x412704], 0x3f6d12f7
mov dword [0x412708], 0x7515a235
mov dword [0x41270c], 0xa4e7f123
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov dword [edx + 0x14], eax
mov dword [edx + 0x18], eax
mov dword [edx + 0x1c], eax
mov dword [edx + 0x20], eax
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], eax
mov dword [edx + 0x2c], eax
mov dword [edx + 0x30], eax
mov dword [edx + 0x34], eax
mov dword [edx + 0x38], eax
mov dword [edx + 0x3c], eax
mov dword [edx + 0x40], eax
mov dword [edx + 0x44], eax
mov dword [edx + 0x48], eax
mov dword [edx + 0x4c], eax
mov dword [edx + 0x50], eax
mov dword [edx + 0x54], eax
mov dword [edx + 0x58], eax
mov dword [edx + 0x5c], eax
mov dword [edx + 0x60], eax
mov dword [edx + 0x64], eax
mov dword [edx + 0x68], eax
mov dword [edx + 0x6c], eax
mov dword [edx + 0x70], eax
mov dword [edx + 0x74], eax
mov dword [edx + 0x78], eax
mov dword [edx + 0x7c], eax
mov dword [edx + 0x80], eax
mov dword [edx + 0x84], eax
mov dword [edx + 0x88], eax
mov dword [edx + 0x8c], eax
mov dword [edx + 0x90], eax
mov dword [edx + 0x94], eax
mov dword [edx + 0x98], eax
mov dword [edx + 0x9c], eax
mov dword [edx + 0xa0], eax
mov dword [edx + 0xa4], eax
mov dword [edx + 0xa8], eax
mov dword [edx + 0xac], eax
mov dword [edx + 0xb0], eax
mov dword [edx + 0xb4], eax
mov dword [edx + 0xb8], eax
mov dword [edx + 0xbc], eax
mov dword [edx + 0xc0], eax
mov dword [edx + 0xc4], eax
mov dword [edx + 0xc8], eax
mov dword [edx + 0xcc], eax
mov dword [edx + 0xd0], eax
mov dword [edx + 0xd4], eax
mov dword [edx + 0xd8], eax
mov dword [edx + 0xdc], eax
mov dword [edx + 0xe0], eax
mov dword [edx + 0xe4], eax
mov dword [edx + 0xe8], eax
mov dword [edx + 0xec], eax
mov dword [edx + 0xf0], eax
mov dword [edx + 0xf4], eax
mov dword [edx + 0xf8], eax
mov dword [edx + 0xfc], eax
lea esi, [esp + 0x10]
mov edi, ebp
mov dl, byte [edi]
add edi, 1
mov byte [esi], dl
add esi, 1
test dl, dl
jne 0x406e5f
mov edi, ebp
xor eax, eax
mov dh, byte [edi]
mov ecx, edi
test dh, dh
je 0x406e85
add ecx, 1
add eax, 1
mov dl, byte [ecx]
test dl, dl
jne 0x406e79
mov ebp, eax
mov edi, 0x412600
mov esi, 0x40f920
mov ecx, 0x40
rep movsd dword es:[edi], dword [esi]
xor edx, edx
xor ecx, ecx
test ebp, ebp
jbe 0x406f3a
mov dword [esp], edx
movzx ebx, byte [esp + ecx + 0x11]
mov edi, dword [esp]
movzx eax, byte [esp + ecx + 0x10]
add ebx, edi
movzx esi, bl
sub eax, edi
movzx ebx, byte [esi*4 + 0x412200]
mov esi, 1
movzx edx, al
movzx edx, byte [edx*4 + 0x412200]
mov edi, edx
cmp edi, ebx
je 0x406f2c
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
lea eax, [esi + ecx]
mov ebp, eax
cmp edi, 0x100
jge 0x406f6e
mov al, byte [edi + 0x412600]
lea ecx, [edi + ebp]
movzx ecx, cl
mov bl, byte [ecx + 0x412600]
add edx, 1
add ebp, 1
mov byte [edi + 0x412600], bl
mov byte [ecx + 0x412600], al
mov eax, dword [esp + 0xc]
add esi, 1
movzx edi, dl
cmp edi, eax
jne 0x406eea
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 4]
add ecx, 2
cmp ecx, ebp
jb 0x406ea7
mov edx, dword [esp]
add edx, 1
cmp edx, 0x100
jb 0x406e9a
xor esi, esi
test ebp, ebp
jbe 0x406f63
lea edx, [esp + 0x10]
add edx, esi
push edx
call fcn.004068d4
pop ecx
add esi, 0x10
cmp esi, ebp
jb 0x406f4f
add esp, 0x110
pop ebx
pop ebp
pop esi
pop edi
ret
mov ecx, dword [esp + 8]
mov ebp, dword [esp + 4]
jmp 0x406f2c