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

Disassembly:
add ecx, 0xb1a9
call 0x407c12
add byte [eax + edi + 0x38], al
inc edi
dec esi
dec ebp
aaa
inc edx
add esp, 4
pop ecx
mov ecx, dword [ebp - 0x758]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x768], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x15ec], eax
cmp dword [ebp - 0x15ec], 0
jne 0x407c55
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x3e0], ecx
jmp 0x407f46
mov edx, dword [ebp - 0x15ec]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x15f0], eax
jne 0x407c7d
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x3e0], ecx
jmp 0x407f46
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x15f0]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x15f4], edx
cmp dword [ebp - 0x15f4], 0
jne 0x407caf
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x3e0], eax
jmp 0x407f46
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x15f4]
mov dword [ebp - 0x75c], ecx
jne 0x407cd4
mov edx, dword [ebp - 0x768]
mov dword [ebp - 0x3e0], edx
jmp 0x407f46
mov eax, dword [ebp - 0x75c]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1978], ecx
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x75c]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1980], edx
mov dword [ebp - 0x760], 0
jmp 0x407d2e
mov eax, dword [ebp - 0x760]
add eax, 1
mov dword [ebp - 0x760], eax
mov ecx, dword [ebp - 0x75c]
mov edx, dword [ebp - 0x760]
cmp edx, dword [ecx + 0x18]
jae 0x407f3a
mov eax, dword [ebp - 0x760]
mov ecx, dword [ebp - 0x1978]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x764], edx
mov eax, dword [ebp - 0x760]
mov ecx, dword [ebp - 0x197c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1980]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1d08], ecx
mov dword [ebp - 0x1c8], 0
jmp 0x407d9e
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x764]
add eax, dword [ebp - 0x1c8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407e50
mov edx, dword [ebp - 0x1c8]
movsx eax, byte [ebp + edx - 0x89c]
test eax, eax
je 0x407e50
push eax
and eax, 0xfd16
and eax, 0x6be0
add eax, 0xdda7
jmp 0x407de4
pop eax
push ecx
push ebx
add esp, 4
xor ecx, 0x1733f
and ecx, 0xa6d6
xor ecx, 0x15b07
pop ecx
mov ecx, dword [ebp - 0x764]
clc
invalid
inc dword [ebx]
lea edi, [eax]
invalid
invalid
dec dword [edi]
mov esi, 0x38858b11
invalid
invalid
dec dword [edi]
mov esi, 0xf764058c
invalid
invalid
cmp edx, ecx
je 0x407e42
mov edx, dword [ebp - 0x764]
add edx, dword [ebp - 0x1c8]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1c8]
movsx edx, byte [ebp + ecx - 0x89c]
cmp eax, edx
jne 0x407e49
jmp 0x407d8f
jmp 0x407e50
push esi
jmp 0x407e56
xor esi, 0x16909
call 0x407e6b
add byte [ebx + 0x40], cl
dec edi
dec ecx
dec ebx
dec esi
push eax
add esp, 4
pop esi
push ecx
jmp 0x407e75
and ecx, 0x2237
or ecx, 0x4835
pop ecx
mov eax, dword [ebp - 0x764]
add eax, dword [ebp - 0x1c8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1c8]
movsx eax, byte [ebp + edx - 0x89c]
idiv edi
invalid
cmp ecx, eax
jne 0x407eaf
mov dword [ebp - 0xcb8], 0
jmp 0x407f1e
push eax
push eax
add esp, 4
call 0x407ec0
add byte [esi + 0x39], al
inc edx
dec esp
cmp al, 0x42
add esp, 4
jmp 0x407ecc
pop eax
push edi
add edi, 0x70a1
jmp 0x407eda
and edi, 0x937e
pop edi
mov ecx, dword [ebp - 0x764]
add ecx, dword [ebp - 0x1c8]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1c8]
movsx ecx, byte [ebp + eax - 0x89c]
or ecx, 0x20
cmp dword [ebp - 0xcb8], 0
jne 0x407f35
mov edx, dword [ebp - 0x1d08]
mov dword [ebp - 0x3e0], edx
jmp 0x407f46
jmp 0x407d1f
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x3e0], eax
cmp dword [ebp - 0x3e0], 0
je 0x408021
push eax
or eax, 0x13812
call 0x407f67
add byte [eax], bh
inc esi
cmp al, 0x4f
inc edi
dec eax
add esp, 4
add eax, 0xb897
pop eax
push edi
sub edi, 0xfa76
jmp 0x407f7d
jmp 0x407f84
pop edi
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x1984], ecx
push ecx
sub ecx, 0x2c61
pop ecx
push esi
push edi
add esp, 4
call 0x407fab
add byte [ebp + 0x45], cl
dec eax
inc ebx
push ebx
push esi
add esp, 4
xor ebx, 0x102e3
pop ebx
push edi
push eax
add esp, 4
sub edi, 0xfb62
or edi, 0xa18c
add byte [eax], al
call 0x40804a
add byte [ebx], dh
xor eax, dword [ebp + 0x3b]
cmp dword [ecx], edi
add esp, 4
jmp 0x408052
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x198c], ecx
mov edx, dword [ebp - 0x198c]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1990], eax
mov ecx, dword [ebp - 0x1990]
mov dword [ebp - 0x15f8], ecx
push ebx
or ebx, 0xe1bd
pop ebx
push edx
push ecx
add esp, 4
call 0x408096
add byte [edi], bh
cmp eax, 0x4e473c45
xor al, byte [edi - 0x7d]
les eax, [eax + ebp*8]
or eax, dword [eax]
add byte [eax], al
add byte [esi + 0x37], cl
aaa
inc eax
dec edx
inc esi
inc esi
aaa
xor eax, dword [eax - 0x7d]
les eax, [edx + ebx*2]
pop edx
cmp dword [ebp - 0x15f8], 0
jne 0x4080c5
mov dword [ebp - 0x2f0], 0
jmp 0x40836c
mov edx, dword [ebp - 0x15f8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcc4], ecx
push ecx
push edi
add esp, 4
xor ecx, 0x3e56
sub ecx, 0x15448
pop ecx
push edi
call 0x4080f9
add byte [ecx + 0x39], al
dec eax
cmp dword [esi + ecx*2 + 0x44], ecx
dec ecx
cmp al, 0x83
les eax, [ecx + eax*4]
invalid
invalid
push ecx
push esi
add esp, 4
call 0x40837f
add byte [esi], bh
inc ebp
xor bh, byte [edx + ecx*2]
xor bh, byte [ebx]
dec eax
add esp, 4
pop ecx
push ecx
push esi
add esp, 4