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

Disassembly:
push edx
xor edx, 0x2b34
or edx, 0x103e6
sub edx, 0x100fe
or edx, 0x484c
pop edx
push edi
push ebx
add esp, 4
add edi, 0xa057
xor edi, 0x38f3
sub edi, 0x77a7
pop edi
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 edi
call fcn.004077d4
add byte [esi + esi + 0x32], al
xor al, byte [ebx + 0x4f]
aaa
add esp, 4
and edi, 0x167b6
and edi, 0x4492
and edi, 0x72c6
pop edi
push edi
xor edi, 0x15afb
xor edi, 0x14182
pop edi
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
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push ebx
push eax
add esp, 4
sub ebx, 0x136ca
xor ebx, 0x1809b
xor ebx, 0x64e5
and ebx, 0xd0a9
pop ebx
push edx
and edx, 0x6a58
pop edx
push eax
push edx
add esp, 4
xor eax, 0xfee2
pop eax
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40789e
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x4078f8
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x4077c6
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x4077c6
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x4078e2
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x4078ec
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x407941
push esi
push edi
add esp, 4
call 0x407912
add byte [edi + 0x37], al
cmp eax, 0x8335394c
les eax, [eax + ebp*8]
or dword [eax], eax
add byte [eax], al
add byte [ecx], bh
dec ebx
dec ebx
dec esp
cmp dword [0xc4834443], edi
add al, 0x81
invalid
push ebx
push ecx
add esp, 4
call 0x407954
add byte [edi], dh
inc edx
xor eax, 0x3b434349
cmp dword [ebx - 0x1c7efb3c], eax
outsb dx, byte [esi]
add eax, dword [eax]
add byte [ecx + 0x11494f3], al
add al, ch
pop es
add byte [eax], al
add byte [eax], al
xor al, 0x3f
dec esp
dec ecx
inc ebx
add esp, 4
pop ebx
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x40799f
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x40776a
mov dword [ebp - 0x2a8], 0
push edi
add edi, 0x6b9d
xor edi, 0x168b4
or edi, 0x18272
sub edi, 0x15c70
pop edi
push edi
push ecx
add esp, 4
sub edi, 0x1667c
add edi, 0x107d7
xor edi, 0xf85e
pop edi
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push edi
push edi
add esp, 4
and edi, 0x4121
pop edi
push ecx
push ebx
add esp, 4
xor ecx, 0xdef4
add ecx, 0xcdc5
sub ecx, 0xb15
pop ecx
push edx
and edx, 0xef46
xor edx, 0x1ada
pop edx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x407a4c
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x407d3d
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x407a74
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x407d3d
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 0x407aa6
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x407d3d
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x407acb
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x407d3d
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]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x407b25
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 0x407d31
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 0x407b95
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407c47
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x407c47
push ebx
push ebx
add esp, 4
jmp 0x407bce
or ebx, 0x17ea4
call 0x407be2
add byte [eax + 0x48], al
cmp eax, dword [ecx + 0x42]
cmp ecx, dword ss:[ebx - 0x7d]
les eax, [ecx + eax*4]
jmp 0x407c16
xchg ebp, eax
aam 0xf8
invalid
push ebx
push ecx
add esp, 4
and ebx, 0x8495
jmp 0x407c58
pop ebx
push ecx
or ecx, 0xc21f
and ecx, 0x783b
call 0x407c75
add byte [esi], bh
dec eax
cmp edi, dword [edi + esi]
cmp al, 0x41
xor al, 0x39
add esp, 4
pop ecx
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 0x407ca6
mov dword [ebp - 0xc6c], 0
jmp 0x407d15
push edi
call 0x407cb6
add byte [edx], dh
dec ebx
inc eax
cmp eax, 0x3e3a4c48
xor al, byte [ebx + 0x515f04c4]
push eax
add esp, 4
xor ecx, 0x1220
add ecx, 0x10116
add ecx, 0x780a
or ecx, 0x15e81
pop ecx
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 0x407d0b
mov dword [ebp - 0xc6c], 0xffffffff
jmp 0x407d15
mov dword [ebp - 0xc6c], 1
cmp dword [ebp - 0xc6c], 0
jne 0x407d2c
mov edx, dword [ebp - 0x190c]
mov dword [ebp - 0x4f0], edx
jmp 0x407d3d
jmp 0x407b16
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx