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

Disassembly:
pop edi
mov edx, dword [ebp - 0x18f0]
mov dword [ebp - 0x18f4], edx
lea eax, [ebp - 0x1628]
push eax
call dword [ebp - 0x18f4]
test eax, eax
jne 0x40c873
push esi
push eax
add esp, 4
add esi, 0xe6ef
pop esi
push esi
and esi, 0x2beb
or esi, 0x4f6e
pop esi
push ecx
push ecx
add esp, 4
add ecx, 0xcefd
add ecx, 0xa745
xor ecx, 0xd24f
pop ecx
mov dword [ebp - 0xa58], 0
jmp 0x40cf5e
push edi
jmp 0x40c87c
jmp 0x40c883
pop edi
push ecx
call 0x40c895
add byte [ebx + 0x40], cl
cmp dword [ebp + 0x3b], eax
inc edi
aaa
inc esp
xor cl, byte [ebx - 0x7d]
les eax, [ecx + ebx*2]
push ebx
push eax
add esp, 4
add ebx, 0x7ab9
pop ebx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x18f8], ecx
mov edx, dword [ebp - 0x18f8]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x18fc], eax
mov ecx, dword [ebp - 0x18fc]
mov dword [ebp - 0x1574], ecx
push esi
sub esi, 0x321d
or esi, 0xf266
add esi, 0xeafe
or esi, 0x16b13
pop esi
push esi
call 0x40c8f5
add byte [edx + 0x45], al
inc edi
inc edx
cmp esi, dword [ebx]
dec eax
add esp, 4
sub esi, 0x4959
pop esi
cmp dword [ebp - 0x1574], 0
jne 0x40c917
mov dword [ebp - 0x2a8], 0
jmp 0x40cbbe
mov edx, dword [ebp - 0x1574]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push esi
add esi, 0x113d5
and esi, 0x1261f
and esi, 0x178a
pop esi
push ebx
push edx
add esp, 4
sub ebx, 0xfe8e
sub ebx, 0x9cef
add ebx, 0x3609
and ebx, 0x171b5
pop ebx
cmp dword [ebp - 0xc68], 0
jne 0x40c973
mov dword [ebp - 0x2a8], 0
jmp 0x40cbbe
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push edx
push esi
add esp, 4
add edx, 0x724a
sub edx, 0xb0c5
and edx, 0x8347
pop edx
push ecx
or ecx, 0x1ce5
sub ecx, 0x173b1
add ecx, 0x1695c
or ecx, 0x35c
pop ecx
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push ecx
push ecx
add esp, 4
call 0x40c9ec
add byte [ebx + edi], bh
inc ebx
inc edx
aas
dec ecx
add esp, 4
add ecx, 0xeeb1
call 0x40ca03
add byte [edx], dh
dec ebp
dec ebp
xor esi, dword [edx]
inc eax
xor eax, 0x4c48334
and ecx, 0x1467d
pop ecx
mov edx, dword [ebp - 0xc60]
mov ax, word [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
dec dword [ebx - 0xc636b]
inc dword [ebx - 0x6a76fd3e]
pushfd
invalid
invalid
jmp dword [esi - 0x75]
test dword [eax + esi*8 - 1], ebp
jmp dword [esi - 0x77]
inc ebp
rcl byte [ecx + 0x50], 0x83
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [0x4c3b4a3f], bh
push eax
inc ebx
add esp, 4
jmp 0x40ca7e
call 0x40ca8c
add byte [edx + 0x44], cl
dec esp
cmp dword [0x83474f42], esi
les eax, [ecx + eax*4]
rol dword [ebp - 0x4e], 0
add byte [ecx + 0xf], bl
mov bh, 0x4d
rol byte [ebp + 0xf1575c9], 0xb7
xchg ebp, eax
hlt
push ecx
push ebx
add esp, 4
and ecx, 0x5ee9
and ecx, 0xaa35
xor ecx, 0xa96e
pop ecx
push esi
push eax
add esp, 4
sub esi, 0x147b6
or esi, 0xe334
pop esi
push ecx
add ecx, 0x8b17
pop ecx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push eax
push esi
add esp, 4
jmp 0x40cc0d
call 0x40cc1b
add byte [eax + 0x3c], al
inc esi
cmp byte [ebp + 0x48], cl
inc ecx
aas
add esp, 4
pop eax
push esi
push ecx
add esp, 4
and esi, 0x101a6
xor esi, 0xdafc
pop esi
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x40cc61
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40cf52
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x40cc89
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40cf52
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
jne 0x40ccbb
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x40cf52
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x40cce0
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x40cf52
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
clc
invalid
dec dword [ebx - 0x3037b]
inc dword [ebx]
inc edx
and al, 0x89
test esp, edi
out 0xff, al
dec dword [ebx - 0x72373]
dec dword [ebx - 0x3036b]
inc dword [ebx]
push ecx
sbb al, 0x89
xchg ebp, eax
clc
out 0xff, al
inc edi
test eax, ebx
clc
invalid
inc dword [eax]
add byte [eax], al
add bl, ch
invalid
mov eax, dword [ebp - 0x728]
add eax, 1
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x40cf46
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x40cdaa
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40ce5c
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x40ce5c
push ecx
push edi
add esp, 4
sub ecx, 0x15375
or ecx, 0x95d2
pop ecx
push eax
sub eax, 0x15b20
and eax, 0xad77
or eax, 0x167c9
pop eax
push ebx
push edx
add esp, 4
and ebx, 0x652c
pop ebx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x40ce4e
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x40ce55
jmp 0x40cd9b
jmp 0x40ce5c
push ecx
push ecx
add esp, 4
add ecx, 0x265c
call 0x40ce76
add byte [0x4a3a3f3f], dh
dec esp
cmp byte [edx], bh
inc ebx
add esp, 4
sub ecx, 0xeb91
pop ecx
push edi
or edi, 0x11e96
add edi, 0x12c6a
pop edi
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
cmp ecx, eax
jne 0x40cebb
mov dword [ebp - 0xc6c], 0
jmp 0x40cf2a
push edx
push esi
add esp, 4
call 0x40ced0
add byte [esi + 0x3a], cl
inc ebp
cmp dl, byte [eax + 0x46]
cmp al, 0x3c
inc ebp
add esp, 4
add edx, 0xf34e
call 0x40cee9
add byte [edx], dh
dec ecx
dec ebx
dec edx
dec ebp
inc esp
xor al, 0x3a
inc edi
add esp, 4
pop edx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
or ecx, 0x20
cmp edx, ecx
jge 0x40cf20
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x40cf2a
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x40cf41
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x40cf52
jmp 0x40cd2b
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
invalid
invalid
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push eax
and eax, 0x10b3e
pop eax
push edx
sub edx, 0xd643
and edx, 0xe6a4
pop edx
push esi
push edx
add esp, 4
and esi, 0xf014
jmp 0x40cf87
pop esi
push edx
sub edx, 0x18149
pop edx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x40d003
push eax
push edx
add esp, 4
call 0x40cfcf
add byte [edi + 0x47], cl
dec esi
inc esi
inc esp
dec edx
push eax
add esp, 4
jmp 0x40cfda
pop eax
push eax
push ebx
add esp, 4
sub eax, 0x185b7
jmp 0x40cfee
pop eax
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x40d020
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x40d07c
push ecx
push edx
add esp, 4
call 0x40d03f
add byte [edx + ecx*2], dh
dec ebp
cmp al, 0x38
aas
add esp, 4
sub ecx, 0x13083
and ecx, 0x55e5
pop ecx
push esi
call 0x40d05c
add byte [edx + edi + 0x42], al
push eax
inc ebp
xor eax, 0x5e04c483
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x40d011
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x40d0f4
push eax
push esi
add esp, 4
and eax, 0x108b
call 0x40d0c6
add byte [esi], bh
dec edi
aas
dec ecx
cmp cl, byte [ebp - 0x7d]
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [ebx], bh
dec esi
push eax
dec edi
cmp byte [esi + 0x34], cl
add esp, 4
jmp 0x40d0df
pop eax
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push ecx
push esi
add esp, 4
jmp 0x40d0fe
pop ecx
push edi
call 0x40d110
add byte [eax + 0x42], al
inc esp
dec edx
xor eax, 0x4248454b
cmp dword [ebx - 0x307efb3c], eax
dec esp
das
add dword [eax], eax
sub edi, 0xd50c
or edi, 0x1642a
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff08ff
pop ecx
pop edi
mov edi, edi
xor dword [edi + 8], ecx
or byte [ecx + 0x85d99cf], cl
or byte [edi + 0x5f], ah
pop esi
mov ecx, esp
or al, 0x89
xlatb
inc esp
jno 0x40d155
or byte [ecx + 0x8562bcf], cl
or byte [ecx + 0x84bbccf], cl
or byte [edi + 0x58], ah
mov esp, 0x6708084b
pop eax
pop edx