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

Disassembly:
push eax
push edi
add esp, 4
jmp 0x4072c2
call fcn.004072ce
add byte [edi + 0x4f], cl
cmp eax, 0x83453f33
add esp, 4
invalid
invalid
add esp, 4
xor eax, 0x37cb
pop eax
push esi
push ebx
add esp, 4
sub esi, 0x1223b
sub esi, 0x574a
pop esi
lea eax, [ebp - 0x1790]
mov dword [ebp - 0xccc], eax
mov ecx, dword [ebp - 0x518]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc8], edx
xor eax, eax
mov word [ebp - 0x220], ax
xor ecx, ecx
mov word [ebp - 0x3c], cx
push ebx
xor ebx, 0x16cf4
and ebx, 0x16bd9
pop ebx
push esi
push esi
add esp, 4
or esi, 0x5aa1
jmp 0x407333
pop esi
push edi
push esi
add esp, 4
jmp 0x40733f
add edi, 0x175af
pop edi
mov edx, dword [ebp - 0xcc8]
mov ax, word [edx]
mov word [ebp - 0x1042], ax
mov ecx, dword [ebp - 0xcc8]
add ecx, 2
mov dword [ebp - 0xcc8], ecx
mov dx, word [ebp - 0x1042]
mov word [ebp - 0x220], dx
mov eax, dword [ebp - 0xccc]
mov cx, word [eax]
mov word [ebp - 0x1044], cx
mov edx, dword [ebp - 0xccc]
add edx, 2
mov dword [ebp - 0xccc], edx
mov ax, word [ebp - 0x1044]
mov word [ebp - 0x3c], ax
push eax
jmp 0x4073a3
sub eax, 0xa904
and eax, 0x21ee
sub eax, 0xf3bb
pop eax
push edi
jmp 0x4073bc
call 0x4073cb
add byte [edx], bh
cmp dword [ebx + 0x44], ecx
aas
inc ecx
dec ebp
push eax
push eax
add esp, 4
pop edi
movzx ecx, word [ebp - 0x3c]
test ecx, ecx
jne 0x4073ec
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
sub edx, eax
mov dword [ebp - 0x1668], edx
jmp 0x407446
movzx ecx, word [ebp - 0x220]
movzx edx, word [ebp - 0x3c]
cmp ecx, edx
je 0x407314
movzx eax, word [ebp - 0x220]
xor eax, 0x20
movzx ecx, word [ebp - 0x3c]
cmp eax, ecx
je 0x407314
movzx edx, word [ebp - 0x220]
movzx eax, word [ebp - 0x3c]
cmp edx, eax
jge 0x407430
mov dword [ebp - 0x1624], 0xffffffff
jmp 0x40743a
mov dword [ebp - 0x1624], 1
mov ecx, dword [ebp - 0x1624]
mov dword [ebp - 0x1668], ecx
cmp dword [ebp - 0x1668], 0
jne 0x40748f
push ecx
jmp 0x407458
call 0x407465
add byte [edi + 0x36], al
dec ebp
xor al, byte [eax + 0x46]
inc esi
add esp, 4
pop ecx
push eax
push edi
add esp, 4
sub eax, 0xef5c
jmp 0x40747a
add eax, 0x76cc
pop eax
mov edx, dword [ebp - 0x518]
mov dword [ebp - 0x774], edx
jmp 0x4074f7
push edx
push edx
add esp, 4
xor edx, 0x673d
xor edx, 0xcbf5
pop edx
push edx
xor edx, 0x1328f
add edx, 0x10978
and edx, 0x7d46
pop edx
push edi
push edx
add esp, 4
or edi, 0xe2a5
pop edi
mov eax, dword [ebp - 0x518]
mov ecx, dword [eax]
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0xcd0]
je 0x4074ed
mov eax, dword [ebp - 0x518]
cmp dword [eax + 0x30], 0
jne 0x4072b8
mov dword [ebp - 0x774], 0
push eax
and eax, 0x3151
or eax, 0x12dcf
and eax, 0x83e3
pop eax
push edx
push esi
add esp, 4
sub edx, 0x5313
and edx, 0xe2ac
pop edx
push edi
push edi
add esp, 4
sub edi, 0x10ade
pop edi
cmp dword [ebp - 0x774], 0
jne 0x407573
push edx
push ebx
add esp, 4
xor edx, 0x640d
xor edx, 0x172bc
pop edx
push edi
push edi
add esp, 4
call 0x407559
add byte [edi + 0x41], al
dec edx
dec ebp
inc edx
cmp edi, dword [ecx + eax*2]
cmp al, byte [ecx - 0x7d]
les eax, [ebx + ebp*8]
add eax, 0x4e504c41
dec edi
pop edi
mov dword [ebp - 0xab4], 0
jmp 0x40809b
push esi
add esi, 0x13617
pop esi
push eax
add eax, 0x9f8a
pop eax
push esi
xor esi, 0xf407
sub esi, 0x11402
or esi, 0xd87c
add esi, 0x1757a
pop esi
push eax
add eax, 0x7889
pop eax
mov ecx, dword [ebp - 0x774]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x784], 0
mov eax, dword [ebp - 0x3a4]
mov dword [ebp - 0x166c], eax
cmp dword [ebp - 0x166c], 0
jne 0x4075e4
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x4078d5
mov edx, dword [ebp - 0x166c]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1670], eax
jne 0x40760c
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], ecx
jmp 0x4078d5
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1670]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1678], edx
cmp dword [ebp - 0x1678], 0
jne 0x40763e
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
jmp 0x4078d5
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [ebp - 0x1678]
mov dword [ebp - 0x778], ecx
jne 0x407663
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], edx
jmp 0x4078d5
mov eax, dword [ebp - 0x778]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19a4], ecx
mov edx, dword [ebp - 0x778]
mov eax, dword [ebp - 0x3a4]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19a8], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19ac], edx
mov dword [ebp - 0x77c], 0
jmp 0x4076bd
mov eax, dword [ebp - 0x77c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [ebp - 0x778]
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ecx + 0x18]
jae 0x4078c9
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a4]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x77c]
mov ecx, dword [ebp - 0x19a8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19ac]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19b0], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x40772d
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x4077df
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x4077df
push edx
or edx, 0x16155
add bl, ch
invalid
call 0x407776
add byte [esi], dh
xor esi, dword [ebx + esi]
xor eax, 0x83494e46
les eax, [edx + ebx*2]
push edi
call 0x407788
add byte [edi], dh
inc eax
inc edi
dec ebx
dec ecx
xor al, 0x49
add esp, 4
pop edi
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
cmp edx, ecx
je 0x4077d1
mov edx, dword [ebp - 0x780]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x8a4]
cmp eax, edx
jne 0x4077d8
jmp 0x40771e
jmp 0x4077df
push ecx
jmp 0x4077e9
sub ecx, 0x171b8
pop ecx
push ebx
call 0x407801
add byte [esi + 0x42], cl
cmp eax, 0x3850473e
cmp esi, dword [0x4c48338]
or ebx, 0x54e3
add ebx, 0x790e
pop ebx
mov eax, dword [ebp - 0x780]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
cmp ecx, eax
jne 0x40783e
mov dword [ebp - 0xcd4], 0
jmp 0x4078ad
push ebx
xor ebx, 0x11e44
and ebx, 0xd2e8
xor ebx, 0x5bbe
or ebx, 0x1814b
pop ebx
push esi
push ecx
add esp, 4
and esi, 0x172b8
and esi, 0xe994
sub esi, 0x1723e
pop esi
mov ecx, dword [ebp - 0x780]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x8a4]
or ecx, 0x20
cmp edx, ecx
jge 0x4078a3
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x4078ad
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x4078c4
mov edx, dword [ebp - 0x19b0]
mov dword [ebp - 0x3f8], edx
jmp 0x4078d5
jmp 0x4076ae
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x4079b0
push edx
and edx, 0x17507
and edx, 0xf649
and edx, 0x6e2
pop edx
push edx
push edx
add esp, 4
or edx, 0x2ad0
xor edx, 0x1012c
sub edx, 0x16922
sub edx, 0x18636
pop edx
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x19b4], ecx