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

Disassembly:
add esp, 4
jmp 0x4078ca
pop eax
push eax
jmp 0x4078d4
jmp 0x4078da
pop eax
cmp dword [ebp - 0xce0], 0
jne 0x4078f3
mov dword [ebp - 0x2fc], 0
jmp 0x407b3e
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push edx
push ebx
add esp, 4
and edx, 0x12f04
jmp 0x407910
and edx, 0x41c4
pop edx
push edx
xor edx, 0x131f1
and edx, 0x68a9
xor edx, 0xcab9
xor edx, 0x36f8
pop edx
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 edx
sub edx, 0x16b6b
and edx, 0x5f0c
add edx, 0x7f56
call 0x40797b
add byte [edx + 0x36], al
aas
cmp ecx, dword [eax + 0x3b]
dec ebx
add esp, 4
pop edx
push ecx
add ecx, 0xcdbe
sub ecx, 0x9499
pop ecx
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 eax
push ebx
add esp, 4
and eax, 0x8b4
pop eax
push ecx
push ebx
add esp, 4
and ecx, 0x7915
or ecx, 0x1954
add ecx, 0xe24f
pop ecx
push eax
xor eax, 0x494c
or eax, 0x10003
pop eax
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x407a33
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x407a8d
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x40795b
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x40795b
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x407a77
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x407a81
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x407ad6
push ecx
xor ecx, 0xe870
and ecx, 0x3c0f
add ecx, 0xbf49
pop ecx
push edx
push eax
add esp, 4
jmp 0x407ab5
and edx, 0xc4dd
sub edx, 0x7038
and edx, 0x624c
pop edx
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x407b3e
push eax
xor eax, 0x1890
add eax, 0xecdc
and eax, 0xf556
sub eax, 0xdd83
pop eax
push edx
push ebx
add esp, 4
xor edx, 0x3715
pop edx
push edi
push ebx
add esp, 4
sub edi, 0x5c88
pop edi
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 0x407b34
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x4078ff
mov dword [ebp - 0x2fc], 0
push edx
push eax
add esp, 4
add edx, 0x35
sub edx, 0xee32
or edx, 0x4d35
pop edx
push ebx
push esi
add esp, 4
and ebx, 0x180f8
jmp 0x407b69
add ebx, 0xa14c
pop ebx
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push edi
add edi, 0x15856
pop edi
push eax
push ebx
add esp, 4
call 0x407b9c
add byte [ebx + 0x44], cl
xor al, 0x4a
dec eax
inc edi
dec esi
inc ebp
add esp, 4
call 0x407bad
add byte [ecx + edi], dh
xor dl, byte [eax + 0x50]
push eax
inc ebx
aas
add esp, 4
pop eax
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x407be1
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x407ed2
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x407c09
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x407ed2
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 0x407c3b
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x407ed2
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x407c60
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x407ed2
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19c4], ecx
mov edx, dword [ebp - 0x788]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19c8], eax
mov ecx, dword [ebp - 0x788]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19cc], edx
mov dword [ebp - 0x78c], 0
jmp 0x407cba
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 0x407ec6
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x19c4]
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 - 0x19c8]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19cc]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19d0], ecx
mov dword [ebp - 0x1a4], 0
jmp 0x407d2a
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 0x407ddc
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x407ddc
push edx
push edx
add esp, 4
or edx, 0xbe1f
and edx, 0xbdbf
xor edx, 0x142ac
pop edx
push edx
push edx
add esp, 4
add edx, 0x15e69
pop edx
push eax
and eax, 0xbe5e
xor eax, 0x35a2
pop eax
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 0x407dce
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 0x407dd5
jmp 0x407d1b
jmp 0x407ddc
push edx
call 0x407dec
add byte [esi], bh
cmp dword [ebx + 0x35], eax
dec edx
cmp al, 0x35
dec ecx
inc edx
add esp, 4
sub edx, 0x4233
call 0x407e04
add byte [ecx + 0x43], cl
push eax
inc eax
dec esi
inc ecx
inc esp
inc edx
inc esi
add esp, 4
or edx, 0x7605
pop edx
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 0x407e3b
mov dword [ebp - 0xce4], 0
jmp 0x407eaa
push ebx
push eax
add esp, 4
xor ebx, 0xa92f
call 0x407e54
add byte [esi + 0x37], cl
inc edx
xor esi, dword [ebx]
inc eax
aas
inc ebp
add esp, 4
call 0x407e63
add byte [0x463e3938], dh
dec eax
add esp, 4
xor ebx, 0x66fd
pop ebx
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 0x407ea0
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x407eaa
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x407ec1
mov edx, dword [ebp - 0x19d0]
mov dword [ebp - 0x520], edx
jmp 0x407ed2
jmp 0x407cab
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xab4], ecx
push ecx
push ebx
add esp, 4
jmp 0x407eea
xor ecx, 0x13f21
pop ecx
push edx
push ebx
add esp, 4
xor edx, 0xb596
call 0x407f0c
add byte [esi], dh
cmp al, byte [edx + 0x43]
cmp bh, byte [ebx]
dec edx
inc edx
inc ebx
dec esi
add esp, 4
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 0x407f83
push ecx
push ecx
add esp, 4
call 0x407f51
add byte [ebp + 0x48], cl
cmp dword [eax + eax*2], edi
dec ecx
inc eax
cmp eax, 0x4c48345
jmp 0x407f59
pop ecx
push edi
push eax
add esp, 4
call 0x407f6b
add byte [edi], bh
push eax
inc esi
dec edi
add esp, 4
pop edi
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 0x407fa0
mov edx, dword [ebp - 0x798]
add edx, 1
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xab8]
jae 0x407ffc
push edi
push ebx
add esp, 4
call 0x407fc3
add byte [ecx + ecx*2 + 0x48], cl
aas
inc esi
xor al, byte [ebp + 0x44]
dec edx
push eax
add esp, 4
jmp 0x407fcd
pop edi
push edi
push edx
add esp, 4
add edi, 0xd259
or edi, 0x13d04
pop edi
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 0x407f91
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 0x408074
push eax
push edx
add esp, 4
call 0x408042
add byte [edx + 0x3a], al
xor esi, dword [0x36484037]
add esp, 4
sub eax, 0xfa22
or eax, 0x7f3e
add eax, 0xcb49
pop eax
push edx
add edx, 0x12247
pop edx
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x19e4], ecx
push 0
call dword [ebp - 0x19e4]
push ecx
sub ecx, 0x44d0
jmp 0x408083
xor ecx, 0xd743
and ecx, 0xb056
pop ecx
push edi
sub edi, 0x4aff
or edi, 0xf48
jmp 0x4080a5
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff07ff
pop ecx
pop ecx
or eax, 0x523f393c
cmp dword [ecx + 0x5e], edx
pop eax
mov cl, bl
or ecx, dword [eax + 0x765f1ee]
pop es
out dx, eax
sysret