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

Disassembly:
add esp, 4
add edi, 0x6a0c
jmp 0x40bf2e
pop edi
mov ecx, dword [ebp - 0x7cc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x7dc], 0
mov eax, dword [ebp - 0x348]
mov dword [ebp - 0x1770], eax
cmp dword [ebp - 0x1770], 0
jne 0x40bf6e
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], ecx
jmp 0x40c25f
mov edx, dword [ebp - 0x1770]
mov eax, dword [ebp - 0x348]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1774], eax
jne 0x40bf96
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], ecx
jmp 0x40c25f
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1774]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x177c], edx
cmp dword [ebp - 0x177c], 0
jne 0x40bfc8
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], eax
jmp 0x40c25f
mov ecx, dword [ebp - 0x348]
add ecx, dword [ebp - 0x177c]
mov dword [ebp - 0x7d0], ecx
jne 0x40bfed
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], edx
jmp 0x40c25f
mov eax, dword [ebp - 0x7d0]
mov ecx, dword [ebp - 0x348]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1aec], ecx
mov edx, dword [ebp - 0x7d0]
mov eax, dword [ebp - 0x348]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1af0], eax
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x348]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1af4], edx
mov dword [ebp - 0x7d4], 0
jmp 0x40c047
mov eax, dword [ebp - 0x7d4]
add eax, 1
mov dword [ebp - 0x7d4], eax
mov ecx, dword [ebp - 0x7d0]
mov edx, dword [ebp - 0x7d4]
cmp edx, dword [ecx + 0x18]
jae 0x40c253
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x1aec]
mov edx, dword [ebp - 0x348]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x1af0]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1af4]
mov ecx, dword [ebp - 0x348]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1af8], ecx
mov dword [ebp - 0x1b4], 0
jmp 0x40c0b7
mov edx, dword [ebp - 0x1b4]
add edx, 1
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x7d8]
add eax, dword [ebp - 0x1b4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40c169
mov edx, dword [ebp - 0x1b4]
movsx eax, byte [ebp + edx - 0x90c]
test eax, eax
je 0x40c169
push ebx
push edx
add esp, 4
xor ebx, 0x13789
and ebx, 0x3176
call 0x40c102
add byte [edi], dh
inc ecx
inc edi
aas
cmp bh, byte [eax]
cmp eax, 0xeb04c483
push es
dec eax
dec esp
dec ebp
xor al, 0x4a
dec ebp
pop ebx
push edi
or edi, 0x12d27
pop edi
mov ecx, dword [ebp - 0x7d8]
add ecx, dword [ebp - 0x1b4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1b4]
movsx ecx, byte [ebp + eax - 0x90c]
cmp edx, ecx
je 0x40c15b
mov edx, dword [ebp - 0x7d8]
add edx, dword [ebp - 0x1b4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1b4]
movsx edx, byte [ebp + ecx - 0x90c]
cmp eax, edx
jne 0x40c162
jmp 0x40c0a8
jmp 0x40c169
push edi
xor edi, 0x17287
jmp 0x40c176
add edi, 0x16ac7
pop edi
push esi
push edx
add esp, 4
and esi, 0x1cde
xor esi, 0x7db8
xor esi, 0xddea
sub esi, 0x7484
pop esi
mov eax, dword [ebp - 0x7d8]
add eax, dword [ebp - 0x1b4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1b4]
movsx eax, byte [ebp + edx - 0x90c]
cmp ecx, eax
jne 0x40c1c8
mov dword [ebp - 0xd88], 0
jmp 0x40c237
push edx
jmp 0x40c1ce
add edx, 0x14a3e
call 0x40c1e1
add byte [0x38374635], bh
xor ecx, dword [edx - 0x7d]
les eax, [edx + ebx*2]
push edx
or edx, 0x4087
sub edx, 0x52b9
jmp 0x40c1f9
pop edx
mov ecx, dword [ebp - 0x7d8]
add ecx, dword [ebp - 0x1b4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1b4]
movsx ecx, byte [ebp + eax - 0x90c]
or ecx, 0x20
cmp edx, ecx
jge 0x40c22d
mov dword [ebp - 0xd88], 0xffffffff
jmp 0x40c237
mov dword [ebp - 0xd88], 1
cmp dword [ebp - 0xd88], 0
jne 0x40c24e
mov edx, dword [ebp - 0x1af8]
mov dword [ebp - 0x428], edx
jmp 0x40c25f
jmp 0x40c038
mov eax, dword [ebp - 0x7dc]
mov dword [ebp - 0x428], eax
cmp dword [ebp - 0x428], 0
je 0x40c33a
push edi
or edi, 0x15228
or edi, 0xac6b
add edi, 0x14a1a
pop edi
push esi
push eax
add esp, 4
jmp 0x40c28b
sub esi, 0x2382
sub esi, 0x10fee
xor esi, 0x2230
pop esi
mov ecx, dword [ebp - 0x428]
mov dword [ebp - 0x1afc], ecx
push edx
push eax
add esp, 4
xor edx, 0x127b1
or edx, 0x8519
or edx, 0x1caf
pop edx
push edi
push edx
add esp, 4
or edi, 0x3b01
jmp 0x40c2d3
pop edi
push edx
and edx, 0x135df
pop edx
mov edx, dword [ebp - 0x1afc]
mov dword [ebp - 0x1b00], edx
lea eax, [ebp - 0x1844]
push eax
call dword [ebp - 0x1b00]
test eax, eax
jne 0x40c33a
push edi
or edi, 0x5773
call 0x40c310
add byte [edi + edi + 0x4f], cl
xor eax, 0x3f333649
add esp, 4
xor edi, 0xfd45
call 0x40c327
add byte [edi + 0x48], al
dec ebx
dec ebp
inc edx
dec ebp
xor al, 0x34
add esp, 4
pop edi
mov dword [ebp - 0xb44], 0
jmp 0x40ca25