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

Disassembly:
add esp, 4
add edi, 0xa286
jmp 0x4076eb
sub edi, 0xe92e
call 0x4076ff
add byte [eax], al
add byte [ebx + 0x44], cl
inc eax
inc ecx
xor esi, dword [ebx]
inc edx
dec edx
add esp, 4
pop edi
cmp dword [ebp - 0x167c], 0
jne 0x40771b
mov dword [ebp - 0x2fc], 0
jmp 0x4079c2
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push edi
push edi
add esp, 4
xor edi, 0xcb07
sub edi, 0x756a
pop edi
push edi
push ebx
add esp, 4
xor edi, 0x8a3f
jmp 0x407752
or edi, 0xa996
xor edi, 0x4e2d
pop edi
cmp dword [ebp - 0xce0], 0
jne 0x407777
mov dword [ebp - 0x2fc], 0
jmp 0x4079c2
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push esi
and esi, 0x8bac
mov eax, dword [eax]
add byte [ecx + 0x112cace], al
add byte [ecx + 0xec70ee], al
add byte [esi + 0x53], bl
push ebx
add esp, 4
and ebx, 0xa288
pop ebx
push edi
push ecx
add esp, 4
and edi, 0x18058
sub edi, 0x7f0
pop edi
lea eax, [ebp - 0x1738]
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 ecx
push ebx
add esp, 4
or ecx, 0x2831
pop ecx
push ebx
add ebx, 0xfba2
call 0x407801
add byte [esi], dh
inc edi
cmp al, byte [ebp + 0x35]
xor eax, 0x83483f34
les eax, [ecx + eax*4]
inc esi
push ecx
add byte [eax], al
sub ebx, 0x243a
pop ebx
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 edx
push ebx
add esp, 4
or edx, 0x41e9
pop edx
push esi
xor esi, 0x116b6
sub esi, 0xd2ad
pop esi
push esi
push edx
add esp, 4
and esi, 0x5f49
add esi, 0x8b70
and esi, 0x18481
pop esi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x4078b7
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
xchg ebp, eax
jl 0x40789c
invalid
invalid
jmp 0x407911
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x4077df
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x4077df
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x4078fb
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x407905
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x40795a
push edx
or edx, 0x11cfa
xor edx, 0xa1e
add edx, 0x9a53
pop edx
push eax
push ecx
add esp, 4
or eax, 0xbd7
pop eax
push ebx
call 0x407948
add byte [esi + 0x39], al
cmp ecx, dword [esi + 0x46]
cmp cl, byte [esi - 0x7d]
les eax, [ebx + ebx*2]
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x4079c2
push ebx
push eax
add esp, 4
sub ebx, 0xdce2
pop ebx
push edx
push ecx
add esp, 4
xor edx, 0xee98
sub edx, 0xa7f5
pop edx
push edx
xor edx, 0x596a
add edx, 0xeafa
xor edx, 0x15b4d
pop edx
mov eax, dword [ebp - 0x51c]
mov ecx, dword [eax]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0xce0]
je 0x4079b8
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x407783
mov dword [ebp - 0x2fc], 0
push ebx
push ebx
add esp, 4
and ebx, 0x1174f
add ebx, 0x1723a
sub ebx, 0xa49c
or ebx, 0x1472c
pop ebx
push edi
xor edi, 0x16a92
pop edi
push edi
push ecx
add esp, 4
add edi, 0x11d9c
pop edi
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push ecx
or ecx, 0x11494
or ecx, 0x11a46
and ecx, 0x9ff1
xor ecx, 0x15ef8
pop ecx
push edx
push esi
add esp, 4
or edx, 0x5262
sub edx, 0x2ef5
jmp 0x407a34
pop edx
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x407a65
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x407d56
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x407a8d
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x407d56
add al, byte [eax]
invalid
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x168c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1690], edx
cmp dword [ebp - 0x1690], 0
jne 0x407abf
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x407d56
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x407ae4
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x407d56
invalid
test dword [eax - 8], edi
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xab4], ecx
push ecx
xor ecx, 0xfaaa
add ecx, 0x2aff
xor ecx, 0x15b1e
sub ecx, 0xb2f7
pop ecx
push edx
push ecx
add esp, 4
add edx, 0x4aa3
pop edx
push edx
push ebx
add esp, 4
and edx, 0x167fd
pop edx
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x19d4], edx
lea eax, [ebp - 0xce8]
push eax
push 0x40
mov ecx, dword [ebp - 0x1694]
push ecx
mov edx, dword [ebp - 0x3e8]
push edx
call dword [ebp - 0x19d4]
test eax, eax
jne 0x407e07
push eax
push eax
add esp, 4
sub eax, 0xb9df
pop eax
push ebx
call 0x407ddc
add byte [eax + 0x32], cl
dec esi
inc ebp
dec edx
inc edx
add esp, 4
call 0x407def
add byte [edx + 0x4e], al
cmp eax, 0x48384b3a
dec eax
inc edi
inc eax
add esp, 4
pop ebx
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x19d8], eax
push 0
call dword [ebp - 0x19d8]
mov ecx, dword [ebp - 0x19dc]
mov dword [ebp - 0x798], ecx
jmp 0x407e24
mov edx, dword [ebp - 0x798]
add edx, 1
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xab8]
jae 0x407e80
push eax
push ebx
add esp, 4
add eax, 0x5d55
call 0x407e4c
add byte [edx + 0x41], cl
inc ebx
inc esp
aas
inc edi
dec esp
inc edx
aas
add esp, 4
or eax, 0x21eb
pop eax
push ecx
sub ecx, 0x111ff
and ecx, 0xa96b
pop ecx
movzx ecx, byte [ebp - 0x3ae]
mov edx, dword [ebp - 0x798]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x798]
mov byte [ecx], al
jmp 0x407e15
mov edx, dword [ebp - 0xab4]
mov dword [ebp - 0x19e0], edx
lea eax, [ebp - 0xce8]
push eax
mov ecx, dword [ebp - 0xce8]
push ecx
mov edx, dword [ebp - 0x1694]
push edx
mov eax, dword [ebp - 0x3e8]
push eax
call dword [ebp - 0x19e0]
test eax, eax
jne 0x407ef8
push ebx
push esi
add esp, 4
xor ebx, 0x5aea
or ebx, 0x128af
pop ebx
push eax
sub eax, 0x8439
pop eax
push edx
push esi
add esp, 4
call 0x407ee0
add byte [edi + edi], bh
cmp ecx, dword [eax + 0x3e]
dec ebp
cmp dword [esi + 0x4a], ecx
add esp, 4
pop edx
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x19e4], ecx
push 0
call dword [ebp - 0x19e4]
push edx
and edx, 0x16942
add edx, 0x3189
pop edx
push ebx
sub ebx, 0x122cd
pop ebx
push ecx
push esi
add esp, 4
xor ecx, 0xfb52
call 0x407f26
add byte [ebp + 0x34], cl
xor eax, dword [ebx + 0x3e]
cmp al, 0x83
les eax, [ecx + ebx*2]
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff06ff
pop ecx
push esi
int1
or al, byte [edi + 0x42]
dec edi
push esp
xchg esi, esp
daa
dec esi
pop es
push es
xchg esi, esp
or eax, 0x5e060778
pop ebp
pop ebp
mov edx, ecx
or al, byte [edi + 0x6f2ebd5]
push es
push edi
push esi
mov edx, ecx
or al, byte [edi + 0x74430f7]
push es
xchg edi, ecx
lea edx, [ecx - 0x33a0f9fa]
mov edi, dword [edx + 0x4d0505f4]
int3