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

Disassembly:
mov edx, dword [ebp - 0x7ac]
add edx, 1
mov dword [ebp - 0x7ac], edx
mov eax, dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0x7ac]
cmp ecx, dword [eax + 0x18]
jae 0x406ccb
mov edx, dword [ebp - 0x7ac]
mov eax, dword [ebp - 0x1d6c]
mov ecx, dword [ebp - 0x37c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x728], ecx
mov edx, dword [ebp - 0x7ac]
mov eax, dword [ebp - 0x1d70]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x1d74]
mov eax, dword [ebp - 0x37c]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x1d78], eax
mov dword [ebp - 0x168], 0
jmp 0x406b2f
mov ecx, dword [ebp - 0x168]
add ecx, 1
mov dword [ebp - 0x168], ecx
mov edx, dword [ebp - 0x728]
add edx, dword [ebp - 0x168]
movsx eax, byte [edx]
test eax, eax
je 0x406be1
mov ecx, dword [ebp - 0x168]
movsx edx, byte [ebp + ecx - 0x8c4]
test edx, edx
je 0x406be1
push esi
push ecx
add esp, 4
jmp 0x406b69
or esi, 0xd1db
pop esi
push ebx
and ebx, 0x2819
call 0x406b84
add byte [esi], dh
dec ebx
cmp al, 0x42
dec eax
dec edi
dec esp
add esp, 4
xor ebx, 0x1076
pop ebx
mov eax, dword [ebp - 0x728]
add eax, dword [ebp - 0x168]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x168]
movsx eax, byte [ebp + edx - 0x8c4]
cmp ecx, eax
je 0x406bd3
mov ecx, dword [ebp - 0x728]
add ecx, dword [ebp - 0x168]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x168]
movsx ecx, byte [ebp + eax - 0x8c4]
cmp edx, ecx
jne 0x406bda
jmp 0x406b20
jmp 0x406be1
push ecx
push edx
add esp, 4
or ecx, 0x1162b
pop ecx
push edx
push edx
add esp, 4
sub edx, 0x55fa
xor edx, 0x1636d
or edx, 0xfe1d
pop edx
push eax
add eax, 0x16b06
or eax, 0xe2e9
pop eax
mov edx, dword [ebp - 0x728]
add edx, dword [ebp - 0x168]
movsx eax, byte [edx]
mov esi, 0x988d8b02
invalid
invalid
dec dword [edi]
mov esi, 0xf73c0d94
invalid
invalid
cmp eax, edx
jne 0x406c40
mov dword [ebp - 0xd10], 0
jmp 0x406caf
push ecx
or ecx, 0xe080
call 0x406c56
add byte [ebp + 0x3a], cl
cmp cl, byte [esi + edi + 0x3a]
aas
cmp eax, 0x4c4834c
pop ecx
push edi
push ebx
add esp, 4
xor edi, 0x142e7
and edi, 0x10a16
sub edi, 0x3476
pop edi
mov eax, dword [ebp - 0x728]
add eax, dword [ebp - 0x168]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x168]
movsx eax, byte [ebp + edx - 0x8c4]
or eax, 0x20
cmp ecx, eax
jge 0x406ca5
mov dword [ebp - 0xd10], 0xffffffff
jmp 0x406caf
mov dword [ebp - 0xd10], 1
cmp dword [ebp - 0xd10], 0
jne 0x406cc6
mov ecx, dword [ebp - 0x1d78]
mov dword [ebp - 0x3d0], ecx
jmp 0x406cd7
jmp 0x406ab0
mov edx, dword [ebp - 0x7b4]
mov dword [ebp - 0x3d0], edx
cmp dword [ebp - 0x3d0], 0
je 0x406db2
push ebx
and ebx, 0x12180
add ebx, 0xcf91
sub ebx, 0x712f
pop ebx
push edx
push eax
add esp, 4
sub edx, 0x12196
or edx, 0x1038c
or edx, 0xbc16
or edx, 0xe5f7
pop edx
mov eax, dword [ebp - 0x3d0]
mov dword [ebp - 0x1d7c], eax
invalid
call dword [edx - 0x7f]
ret 0x5329
add dword [eax], eax
jmp 0x406d31
or edx, 0x16be7
pop edx
push edi
push esi
add esp, 4
and edi, 0x1704
call 0x406d50
add byte [esi + 0x4a], cl
dec ecx
cmp byte [edx + 0x3b], al
aaa
add esp, 4
pop edi
mov ecx, dword [ebp - 0x1d7c]
mov dword [ebp - 0x1d80], ecx
lea edx, [ebp - 0x16c0]
push edx
call dword [ebp - 0x1d80]
test eax, eax
jne 0x406db2
push eax
push ecx
add esp, 4
or eax, 0x9093
sub eax, 0x8d76
pop eax
push edi
push esi
add esp, 4
sub edi, 0x17885
sub edi, 0xb6c8
pop edi
push eax
or eax, 0x61b0
and eax, 0xcc00
pop eax
mov dword [ebp - 0xad4], 0
jmp 0x40749c
push edi
and edi, 0x358f
call 0x406dc7
add byte [eax + 0x36], cl
xor edi, dword [edi]
inc edx
dec edx
dec esi
push eax
add esp, 4
jmp 0x406dd1
pop edi
push ebx
push eax
add esp, 4
xor ebx, 0x169b7
add ebx, 0xcbd8
pop ebx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x1d84], eax
push ebx
push edx
add esp, 4
xor ebx, 0x1566e
add ebx, 0x12122
call 0x4074b9
add byte [esi], dh
inc ebp
xor al, 0x3d
aaa
add esp, 4
pop ebx
push edi
push ebx
add esp, 4
jmp 0x4074c8
jmp 0x4074cd
pop edi
mov ecx, dword [ebp - 0xad4]
mov dword [ebp - 0x1d9c], ecx
lea edx, [ebp - 0xd24]
push edx
push 0x40
mov eax, dword [ebp - 0x166c]
push eax
mov ecx, dword [ebp - 0x3cc]
push ecx
call dword [ebp - 0x1d9c]
test eax, eax
jne 0x407541
push eax
push esi
add esp, 4
and eax, 0x6b72
or eax, 0xa321
call 0x40751b
add byte [0x47395038], bh
inc esi
dec ebp
inc esi
add esp, 4
or eax, 0xe9c1
pop eax
push esi
add esi, 0xdbc
pop esi
mov edx, dword [ebp - 0x7cc]
mov dword [ebp - 0x1da0], edx
push 0
call dword [ebp - 0x1da0]
invalid
mov eax, dword [ebp - 0x1da4]
mov dword [ebp - 0x7c8], eax
jmp 0x40755e
mov ecx, dword [ebp - 0x7c8]
add ecx, 1
mov dword [ebp - 0x7c8], ecx
mov edx, dword [ebp - 0x7c8]
cmp edx, dword [ebp - 0xad8]
jae 0x4075ba
push eax
push edx
add esp, 4
xor eax, 0x4f8e
pop eax
push edx
push esi
add esp, 4
call 0x40758c
add byte [ebp + 0x4b], cl
dec ecx
xor ecx, dword [ecx + 0x46]
inc eax
inc edx
xor al, 0x83
les eax, [edx + ebx*2]
push esi
or esi, 0x5dd2
xor esi, 0x179af
pop esi
movzx eax, byte [ebp - 0x39d]
test dword [ebx - 4], esp
invalid
dec dword [ebx - 0x7c773]
dec dword [edi]
mov esi, 0x8bd02b11
test dword [eax], edi
clc
invalid
invalid
mov byte [eax], dl
jmp 0x40754f
mov ecx, dword [ebp - 0xad4]
mov dword [ebp - 0x1da8], ecx
lea edx, [ebp - 0xd24]
push edx
mov eax, dword [ebp - 0xd24]
push eax
mov ecx, dword [ebp - 0x166c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1da8]
test eax, eax
jne 0x407632
push ecx
push edx
add esp, 4
sub ecx, 0x485
pop ecx
push ecx
call 0x407606
add byte [esp + eax*2], dh
xor cl, byte [eax + 0x3d]
xor eax, 0x4c48337
pop ecx
push eax
push ebx
add esp, 4
and eax, 0x16793
pop eax
push eax
or eax, 0x9b7e
pop eax
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x1dac], eax
push 0
call dword [ebp - 0x1dac]
push esi
sub esi, 0x621b
xor esi, 0x33fe
pop esi
push eax
and eax, 0x112a4
call 0x407655
add byte [edi], dh
dec esp
inc edx
xor al, 0x4d
dec edi
xor al, byte [ebx - 0x377efb3c]
movsd dword es:[edi], dword [esi]
inc ebp
add byte [eax], al
jmp 0x407663
pop eax
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff03ff
pop ecx
push ebx
jmp 0x407680
xchg bh, al
pop es
test bl, ch
mov dl, 0x8f
add eax, dword [ebx]
test bl, ch
pop edi
mov al, 3
add eax, dword [ebx + 0x30365fa]
jecxz 0x40768c
add eax, dword gs:[ebx]
pop ebx
push esi
test dh, ch
cmp eax, 0x8403036d
mov ah, 0xce
add eax, dword [ebx]
pop esi
pop ecx
out dx, al
or byte [ebx + 0x3b], dl
dec ecx
test cl, dl
and dword [ebx], ebp
add eax, dword [ebx]
out dx, al
or dl, byte [ecx + 0x51]
dec ebp
cmp ecx, dword [edx + 0x3e]
inc ecx
test cl, cl
loopne 0x407725
add al, 3
popal
push esp
test ah, ah
sub ebx, dword [esi]
add eax, dword [ebx]
test ah, ah
insb byte es:[edi], dx
jp 0x4076d1
add eax, dword [esp + esi*8 + 0x3043675]
jne 0x407709
add al, 3
pop esp
leave
mov byte [ebx], al
add al, byte [edx]
add esi, edx
add al, byte [edx]
dec ecx
leave
mov byte [edx + esi*8], al
add al, 0xf2
add al, byte [edx]
insb byte es:[edi], dx
leave
mov byte [0x710202f2], al
add eax, 0x710202f2
leave
mov byte [esi], al
add al, byte [edx]
leave
mov byte [edi], al
add al, byte [edx]
push ebp
leave
mov byte [eax], cl
add al, byte [edx]
push 0xf20988c9
add al, byte [edx]
jbe 0x4076d1
mov byte [edx], cl
add al, byte [edx]
or dh, dl
add al, byte [edx]
jb 0x4076d8
mov byte [ebx], cl
add al, byte [edx]
js 0x4076df
mov byte [edx + esi*8], cl
add al, byte [edx]
jne 0x4076e6
mov byte [0x660202f2], cl
leave
mov byte [esi], cl
push cs
add al, byte [edx]
push 0xf20f88c9
add al, byte [edx]