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

Disassembly:
add byte [ecx + 0x3da2eb], al
add byte [ebx + 0x52], bl
push edi
push edi
add esp, 4
add edi, 0x99af
xor edi, 0x1508e
sub edi, 0x60cb
sub edi, 0x14d4d
pop edi
push edi
xor edi, 0x8ba6
or edi, 0x149be
and edi, 0x796c
pop edi
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1a20], ecx
mov edx, dword [ebp - 0x1a20]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1a24], eax
mov ecx, dword [ebp - 0x1a24]
mov dword [ebp - 0x1680], ecx
push ecx
push edx
add esp, 4
call 0x407cbb
add byte [ebx + 0x36], cl
xor al, 0x49
inc esp
cmp eax, 0x83424834
les eax, [ebx + ebp*8]
add esi, dword [esi]
cmp byte [ebx], bh
call 0x407ccf
add byte [edx], bh
inc ecx
dec ecx
inc ecx
dec eax
aas
add esp, 4
xor ecx, 0xf316
pop ecx
cmp dword [ebp - 0x1680], 0
jne 0x407cf1
mov dword [ebp - 0x2fc], 0
jmp 0x407f98
mov edx, dword [ebp - 0x1680]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push eax
and eax, 0x1747
xor eax, 0x376a
add eax, 0xc57b
sub eax, 0x6b32
pop eax
push ebx
push esi
add esp, 4
add ebx, 0x991a
pop ebx
push edx
push ecx
add esp, 4
and edx, 0x12c3c
pop edx
cmp dword [ebp - 0xce0], 0
jne 0x407d4d
mov dword [ebp - 0x2fc], 0
jmp 0x407f98
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push eax
and eax, 0x181f7
xor eax, 0x331b
pop eax
push edi
call 0x407d74
add byte [ecx + 0x38], cl
dec ebx
inc eax
add esp, 4
and edi, 0x57c6
xor edi, 0x140c9
jmp 0x407d8a
pop edi
lea eax, [ebp - 0x173c]
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0x51c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcd8], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push eax
jmp 0x407dbe
or eax, 0x17cc2
add eax, 0x122ab
pop eax
push eax
and eax, 0xc74c
pop eax
push ecx
push esi
add esp, 4
add ecx, 0x13bc5
pop ecx
push eax
jmp 0x407de6
pop eax
mov edx, dword [ebp - 0xcd8]
mov ax, word [edx]
mov word [ebp - 0x1046], ax
mov ecx, dword [ebp - 0xcd8]
add ecx, 2
mov dword [ebp - 0xcd8], ecx
mov dx, word [ebp - 0x1046]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xcdc]
mov cx, word [eax]
mov word [ebp - 0x1048], cx
mov edx, dword [ebp - 0xcdc]
add edx, 2
mov dword [ebp - 0xcdc], edx
mov ax, word [ebp - 0x1048]
mov word [ebp - 0x40], ax
push ebx
push ebx
add esp, 4
xor ebx, 0xb4b3
sub ebx, 0x173b2
call 0x407e5b
add byte [ebx + 0x32], cl
xor eax, 0x833c443b
les eax, [eax + ebp*8]
or dword [eax], eax
add byte [eax], al
add byte [edi], bh
dec ebp
dec ecx
dec edi
dec edx
dec esp
add esp, 4
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x407e8d
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1688], edx
jmp 0x407ee7
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x407db5
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x407db5
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x407ed1
mov dword [ebp - 0x1684], 0xffffffff
jmp 0x407edb
mov dword [ebp - 0x1684], 1
mov ecx, dword [ebp - 0x1684]
mov dword [ebp - 0x1688], ecx
cmp dword [ebp - 0x1688], 0
jne 0x407f30
push edx
sub edx, 0x10f5a
add edx, 0x697f
and edx, 0xca0e
pop edx
push esi
push ebx
add esp, 4
sub esi, 0x14449
pop esi
push esi
push ebx
add esp, 4
xor esi, 0xd163
xor esi, 0xe44b
pop esi
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x407f98
push eax
and eax, 0x123db
call 0x407f46
add byte [ecx + 0x4a], al
dec edx
dec ebx
xor al, 0x4d
dec ebp
inc ebp
add esp, 4
pop eax
push esi
xor esi, 0x15fe8
call 0x407f5e
add byte [edx + 0x3d], al
inc ebx
inc ebx
aaa
inc ecx
cmp al, byte [ebx - 0x74a1fb3c]
test esp, esp
cli
invalid
push ecx
push ebx
add esp, 4
and ecx, 0x15674
add ecx, 0x123b5
add ecx, 0xb4
pop ecx
push ecx
push edx
add esp, 4
add ecx, 0xcb69
add ecx, 0x17125
pop ecx
push ebx
and ebx, 0x18277
pop ebx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push ecx
push edx
add esp, 4
jmp 0x407fe3
sub ecx, 0x12627
jmp 0x407ff0
pop ecx
push eax
or eax, 0x81a
or eax, 0x7ad5
and eax, 0x15b55
sub eax, 0x176c9
pop eax
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x168c], eax
cmp dword [ebp - 0x168c], 0
jne 0x40803b
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x40832c
mov edx, dword [ebp - 0x168c]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1690], eax
jne 0x408063
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x40832c
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1690]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1694], edx
cmp dword [ebp - 0x1694], 0
jne 0x408095
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x40832c
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1694]
mov dword [ebp - 0x788], ecx
jne 0x4080ba
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x40832c
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1a28], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1a2c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a30], edx
mov dword [ebp - 0x78c], 0
jmp 0x408114
mov eax, dword [ebp - 0x78c]
add eax, 1
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x78c]
cmp edx, dword [ecx + 0x18]
jae 0x408320
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a28]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x1a2c]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a30]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a34], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x408184
mov edx, dword [ebp - 0x1a4]
add edx, 1
mov dword [ebp - 0x1a4], edx
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
test ecx, ecx
je 0x408236
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x408236
push ecx
push ecx
add esp, 4
and ecx, 0x1890
sub ecx, 0x1168
add ecx, 0x113fa
jmp 0x4081d0
pop ecx
push ebx
push eax
add esp, 4
or ebx, 0xcef8
sub ebx, 0xad12
pop ebx
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
cmp edx, ecx
je 0x408228
mov edx, dword [ebp - 0x790]
add edx, dword [ebp - 0x1a4]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a4]
movsx edx, byte [ebp + ecx - 0x9d4]
cmp eax, edx
jne 0x40822f
jmp 0x408175
jmp 0x408236
push edx
push eax
add esp, 4
jmp 0x408240
and edx, 0xf9f9
pop edx
push ecx
add ecx, 0x71be
add ecx, 0x124ec
pop ecx
push eax
push eax
add esp, 4
or eax, 0x131d3
jmp 0x408267
pop eax
mov eax, dword [ebp - 0x790]
add eax, dword [ebp - 0x1a4]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
cmp ecx, eax
jne 0x408295
mov dword [ebp - 0xce4], 0
jmp 0x408304
push edx
add edx, 0xd789
pop edx
push esi
push edx
add esp, 4
or esi, 0x13e1e
xor esi, 0x5cc0
xor esi, 0x16b3b
pop esi
push eax
push edx
add esp, 4
add eax, 0xd0ec
or eax, 0x13d0f
pop eax
mov ecx, dword [ebp - 0x790]
add ecx, dword [ebp - 0x1a4]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a4]
movsx ecx, byte [ebp + eax - 0x9d4]
or ecx, 0x20
cmp edx, ecx
jge 0x4082fa
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x408304
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x40831b
mov edx, dword [ebp - 0x1a34]
mov dword [ebp - 0x520], edx
jmp 0x40832c
jmp 0x408105
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xabc], ecx