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

Disassembly:
mov eax, dword [ebp - 0x780]
add eax, 1
mov dword [ebp - 0x780], eax
mov ecx, dword [ebp - 0x77c]
mov edx, dword [ebp - 0x780]
cmp edx, dword [ecx + 0x18]
jae 0x4074f5
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19d8]
mov edx, dword [ebp - 0x3a4]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x780]
mov ecx, dword [ebp - 0x19dc]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19e0]
mov ecx, dword [ebp - 0x3a4]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19e4], ecx
mov dword [ebp - 0x19c], 0
jmp 0x407359
mov edx, dword [ebp - 0x19c]
add edx, 1
mov dword [ebp - 0x19c], edx
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40740b
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
test eax, eax
je 0x40740b
push ecx
push ebx
add esp, 4
jmp 0x407393
call fcn.004073a2
add byte [ebx + 0x3b], cl
cmp dh, byte [ebx]
xor eax, dword [ecx + 0x3f]
dec esp
dec ebx
add esp, 4
xor ecx, 0x1149
pop ecx
push ecx
push esi
add esp, 4
or ecx, 0xb17b
pop ecx
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
cmp edx, ecx
je 0x4073fd
mov edx, dword [ebp - 0x784]
add edx, dword [ebp - 0x19c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x19c]
movsx edx, byte [ebp + ecx - 0x8a8]
cmp eax, edx
jne 0x407404
jmp 0x40734a
jmp 0x40740b
push ebx
sub ebx, 0x4487
sub ebx, 0x2d7a
pop ebx
push ebx
or ebx, 0x412c
pop ebx
push esi
call 0x40742e
add byte [ecx], bh
dec ebx
cmp eax, 0x83423a46
les eax, [ebx + ebp*8]
add ecx, dword [edx + 0x48]
dec esi
xor esi, 0xabc7
pop esi
mov eax, dword [ebp - 0x784]
add eax, dword [ebp - 0x19c]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x19c]
movsx eax, byte [ebp + edx - 0x8a8]
cmp ecx, eax
jne 0x40746a
mov dword [ebp - 0xcd8], 0
jmp 0x4074d9
push edx
call 0x40747a
add byte [edx], bh
dec ebx
aas
cmp al, 0x44
xor eax, 0x833a484e
les eax, [eax + ebp*8]
or byte [eax], al
add byte [eax], al
add byte [eax + 0x4f], al
inc esi
cmp edi, dword [eax + ecx*2]
xor al, 0x83
les eax, [ecx + eax*4]
inc ebx
or al, byte [ecx]
add byte [edx + 0x51], bl
or ecx, 0x2b40
pop ecx
mov ecx, dword [ebp - 0x784]
add ecx, dword [ebp - 0x19c]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x19c]
movsx ecx, byte [ebp + eax - 0x8a8]
or ecx, 0x20
cmp edx, ecx
jge 0x4074cf
mov dword [ebp - 0xcd8], 0xffffffff
jmp 0x4074d9
mov dword [ebp - 0xcd8], 1
cmp dword [ebp - 0xcd8], 0
jne 0x4074f0
mov edx, dword [ebp - 0x19e4]
mov dword [ebp - 0x3fc], edx
jmp 0x407501
jmp 0x4072da
mov eax, dword [ebp - 0x788]
mov dword [ebp - 0x3fc], eax
cmp dword [ebp - 0x3fc], 0
je 0x4075dc
push ecx
push edx
add esp, 4
sub ecx, 0x83aa
xor ecx, 0xbceb
add ecx, 0x169e1
pop ecx
push edx
add edx, 0xd711
or edx, 0xd1d8
sub edx, 0x13a2e
add edx, 0xf8c8
pop edx
mov ecx, dword [ebp - 0x3fc]
mov dword [ebp - 0x19e8], ecx
push ecx
push eax
add esp, 4
or ecx, 0x68d5
or ecx, 0x13bda
xor ecx, 0x166b2
call 0x407572
add byte [eax + 0x33], dl
inc eax
dec ebx
cmp edi, dword [edx]
aaa
cmp dword [0x5904c483], edi
push eax
xor eax, 0x1536d
pop eax
mov edx, dword [ebp - 0x19e8]
mov dword [ebp - 0x19ec], edx
lea eax, [ebp - 0x1740]
push eax
call dword [ebp - 0x19ec]
test eax, eax
jne 0x4075dc
push edi
call 0x4075ab
add byte [eax + 0x3b], cl
inc edx
inc esi
inc edi
dec edi
aas
aaa
add esp, 4
and edi, 0x14073
pop edi
push edi
push ebx
add esp, 4
sub edi, 0xdc30
pop edi
push edi
push esi
add esp, 4
add edi, 0x58d1
pop edi
mov dword [ebp - 0xac0], 0
jmp 0x407cc7
push edx
push edi
add esp, 4
call 0x4075ed
add byte [ebx], bh
dec eax
inc esi
dec ebp
dec esp
dec ebx
add esp, 4
and edx, 0x1382c
or edx, 0xbac6
pop edx
push eax
push edi
add esp, 4
jmp 0x407607
add eax, 0x162b9
pop eax
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19f0], ecx
mov edx, dword [ebp - 0x19f0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19f4], eax
mov ecx, dword [ebp - 0x19f4]
mov dword [ebp - 0x1684], ecx
push eax
push esi
add esp, 4
sub eax, 0x9637
sub eax, 0x9f1e
call 0x407656
add byte [0x4a35393e], bh
inc ebx
cmp eax, 0xc4834342
add al, 0x81
call fcn.0040eb12
pop eax
push ebx
add ebx, 0x14421
pop ebx
cmp dword [ebp - 0x1684], 0
jne 0x407680
mov dword [ebp - 0x2f4], 0
jmp 0x407927
mov edx, dword [ebp - 0x1684]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce4], ecx
push edi
push esi
add esp, 4
jmp 0x40769d
and edi, 0x41aa
and edi, 0x14d06
pop edi
push edi
push eax
add esp, 4
sub edi, 0x166c
or edi, 0x422a
jmp 0x4076c3
pop edi
cmp dword [ebp - 0xce4], 0
jne 0x4076dc
mov dword [ebp - 0x2f4], 0
jmp 0x407927
mov edx, dword [ebp - 0xce4]
mov dword [ebp - 0x520], edx
push edi
push edi
add esp, 4
jmp 0x4076f3
xor edi, 0x129a
pop edi
push ebx
add ebx, 0x159e9
xor ebx, 0x5d6b
xor ebx, 0x143e
pop ebx
push eax
push edi
add esp, 4
add eax, 0x114b0
pop eax
lea eax, [ebp - 0x1740]
mov dword [ebp - 0xce0], eax
mov ecx, dword [ebp - 0x520]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcdc], edx
xor eax, eax
mov word [ebp - 0x224], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push esi
push ebx
add esp, 4
sub esi, 0x12bcd
add esi, 0x108b8
xor esi, 0x1720
pop esi
push esi
push ebx
add esp, 4
xor esi, 0x5a33
pop esi
push edx
or edx, 0xd55e
xor edx, 0xd454
pop edx
mov edx, dword [ebp - 0xcdc]
mov ax, word [edx]
mov word [ebp - 0x104a], ax
mov ecx, dword [ebp - 0xcdc]
add ecx, 2
mov dword [ebp - 0xcdc], ecx
mov dx, word [ebp - 0x104a]
mov word [ebp - 0x224], dx
mov eax, dword [ebp - 0xce0]
mov cx, word [eax]
mov word [ebp - 0x104c], cx
mov edx, dword [ebp - 0xce0]
add edx, 2
mov dword [ebp - 0xce0], edx
mov ax, word [ebp - 0x104c]
mov word [ebp - 0x40], ax
push ebx
push ecx
add esp, 4
or ebx, 0xaa1
pop ebx
push ecx
jmp 0x4077df
call 0x4077ed
add byte [esi + edi + 0x45], al
inc esi
cmp edi, dword [0xc483353e]
add al, 0x81
loope 0x40786f
add dword [ecx], eax
add byte [ecx + 0x53], bl
and ebx, 0x8cd9
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40781c
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x168c], edx
jmp 0x407876
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x407744
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x407744
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x407860
mov dword [ebp - 0x1688], 0xffffffff
jmp 0x40786a
mov dword [ebp - 0x1688], 1
mov ecx, dword [ebp - 0x1688]
mov dword [ebp - 0x168c], ecx
dec dword [ecx - 0x168b73]
inc dword [ebx - 0x168b43]
inc dword [eax]
cmp dword [ebp - 0x168c], 0
jne 0x4078bf
push ecx
and ecx, 0x13f0a
or ecx, 0x8f47
or ecx, 0x123e7
pop ecx
push ebx
push esi
add esp, 4
add ebx, 0x1438f
xor ebx, 0xe5c6
or ebx, 0xda6c
sub ebx, 0x424e
pop ebx
mov edx, dword [ebp - 0x520]
mov dword [ebp - 0x2f4], edx
jmp 0x407927
push edx
push ebx
add esp, 4
call 0x4078d3
add byte [eax + 0x49], dl
inc ecx
dec eax
xor edi, dword [0x834c3549]
les eax, [edx + ebx*2]
push edx
and edx, 0x13bf3
and edx, 0xa1c2
or edx, 0x3bb9
sub edx, 0x6dcb
pop edx
mov eax, dword [ebp - 0x520]
mov ecx, dword [eax]
mov dword [ebp - 0x520], ecx
mov edx, dword [ebp - 0x520]
cmp edx, dword [ebp - 0xce4]
je 0x40791d
mov eax, dword [ebp - 0x520]
cmp dword [eax + 0x30], 0
jne 0x4076e8
mov dword [ebp - 0x2f4], 0
push edi
call 0x407935
add byte [ebx + 0x3b], al
inc eax
inc ecx
cmp dword [edx + 0x38], ecx
add esp, 4
jmp 0x40793e
and edi, 0x740f
pop edi
push edi
add edi, 0x1140e
pop edi
push edx
push esi
add esp, 4
xor edx, 0x3e1
pop edx
mov ecx, dword [ebp - 0x2f4]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x36c], edx
push esi
add esi, 0x10704
xor esi, 0x13618
and esi, 0x1673a
jmp 0x407983
pop esi
push edi
or edi, 0x74eb
xor edi, 0x80f5
pop edi
push esi
jmp 0x407999
pop esi
mov dword [ebp - 0x798], 0
mov eax, dword [ebp - 0x36c]
mov dword [ebp - 0x1690], eax
cmp dword [ebp - 0x1690], 0
jne 0x4079ca
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x524], ecx
jmp 0x407cbb
mov edx, dword [ebp - 0x1690]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1694], eax
jne 0x4079f2
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x524], ecx
jmp 0x407cbb
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1694]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1698], edx
cmp dword [ebp - 0x1698], 0
jne 0x407a24
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x524], eax
jmp 0x407cbb
mov ecx, dword [ebp - 0x36c]
add ecx, dword [ebp - 0x1698]
mov dword [ebp - 0x78c], ecx
jne 0x407a49
mov edx, dword [ebp - 0x798]
mov dword [ebp - 0x524], edx
jmp 0x407cbb
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19f8], ecx
mov edx, dword [ebp - 0x78c]
mov eax, dword [ebp - 0x36c]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19fc], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1a00], edx
mov dword [ebp - 0x790], 0
jmp 0x407aa3
mov eax, dword [ebp - 0x790]
add eax, 1
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x790]
cmp edx, dword [ecx + 0x18]
jae 0x407caf
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x19f8]
mov edx, dword [ebp - 0x36c]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x790]
mov ecx, dword [ebp - 0x19fc]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1a00]
mov ecx, dword [ebp - 0x36c]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1a04], ecx
mov dword [ebp - 0x1a0], 0
jmp 0x407b13
mov edx, dword [ebp - 0x1a0]
add edx, 1
mov dword [ebp - 0x1a0], edx
mov eax, dword [ebp - 0x794]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
test ecx, ecx
je 0x407bc5
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x9d8]
test eax, eax
je 0x407bc5
push ebx
push edi
add esp, 4
jmp 0x407b4e
call 0x407b5e
add byte [0x4d504b38], bh
cmp eax, dword [esp + edi + 0x50]
dec ebp
add esp, 4
pop ebx
push edx
and edx, 0x15564
pop edx
push esi
or esi, 0x12630
pop esi
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x9d8]
cmp edx, ecx
je 0x407bb7
mov edx, dword [ebp - 0x794]
add edx, dword [ebp - 0x1a0]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1a0]
movsx edx, byte [ebp + ecx - 0x9d8]
cmp eax, edx
jne 0x407bbe
jmp 0x407b04
jmp 0x407bc5
push eax
push ebx
add esp, 4
or eax, 0x8365
xor eax, 0xffbf
pop eax
push eax
push esi
add esp, 4
xor eax, 0x4524
pop eax
push edx
call 0x407bf3
add byte [ebx], dh
dec ebx
dec edi
xor cl, byte [edx + 0x50]
cmp dword [ecx + 0x39], ecx
add esp, 4
pop edx
mov eax, dword [ebp - 0x794]
add eax, dword [ebp - 0x1a0]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x9d8]
cmp ecx, eax
jne 0x407c24
mov dword [ebp - 0xce8], 0
jmp 0x407c93
push eax
sub eax, 0x159b9
sub eax, 0x3e5e
add eax, 0x142a9
xor eax, 0x23de
pop eax
push ebx
push ebx
add esp, 4
and ebx, 0x14a5f
or ebx, 0xac1f
and ebx, 0xb10d
pop ebx
mov ecx, dword [ebp - 0x794]
add ecx, dword [ebp - 0x1a0]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1a0]
movsx ecx, byte [ebp + eax - 0x9d8]
or ecx, 0x20
cmp edx, ecx
jge 0x407c89
mov dword [ebp - 0xce8], 0xffffffff
jmp 0x407c93
mov dword [ebp - 0xce8], 1
cmp dword [ebp - 0xce8], 0
jne 0x407caa
mov edx, dword [ebp - 0x1a04]
mov dword [ebp - 0x524], edx
jmp 0x407cbb
jmp 0x407a94
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0xac0], ecx
push ebx
push eax
add esp, 4
add ebx, 0x15d1c
add ebx, 0x12f94
sub ebx, 0x12ed8
pop ebx
push eax
xor eax, 0xe455
pop eax
push ebx
push ebx
add esp, 4
sub ebx, 0x3bac
and ebx, 0x2882
pop ebx
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0x1a08], edx
lea eax, [ebp - 0xcec]
push eax
push 0x40
mov ecx, dword [ebp - 0x169c]
push ecx
mov edx, dword [ebp - 0x3e4]
push edx
call dword [ebp - 0x1a08]
test eax, eax
jne 0x407d6c
push ebx
xor ebx, 0x40a6
or ebx, 0x6179
and ebx, 0xea4a
pop ebx
push edi
push ecx
add esp, 4
or edi, 0x10f84
or edi, 0x173e0
and edi, 0x443c
add edi, 0x112b
pop edi
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x1a0c], eax
push 0
call dword [ebp - 0x1a0c]
mov ecx, dword [ebp - 0x1a10]
mov dword [ebp - 0x79c], ecx
jmp 0x407d89
mov edx, dword [ebp - 0x79c]
add edx, 1
mov dword [ebp - 0x79c], edx
mov eax, dword [ebp - 0x79c]
cmp eax, dword [ebp - 0xac4]
jae 0x407de5
push ecx
and ecx, 0xf9be
sub ecx, 0x46e1
sub ecx, 0x8a93
sub ecx, 0x1815e
pop ecx
push edx
push esi
add esp, 4
sub edx, 0x1378b
or edx, 0x207d
and edx, 0x1313d
pop edx
movzx ecx, byte [ebp - 0x3ed]
mov edx, dword [ebp - 0x79c]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x79c]
mov byte [ecx], al
jmp 0x407d7a
mov edx, dword [ebp - 0xac0]
mov dword [ebp - 0x1a14], edx
lea eax, [ebp - 0xcec]
push eax
mov ecx, dword [ebp - 0xcec]
push ecx
mov edx, dword [ebp - 0x169c]
push edx
mov eax, dword [ebp - 0x3e4]
push eax
call dword [ebp - 0x1a14]
test eax, eax
jne 0x407e5d
push edi
push ecx
add esp, 4
and edi, 0x5f38
jmp 0x407e27
sub edi, 0x5404
pop edi
push esi
call 0x407e3f
add byte [edi + 0x46], al
inc ecx
dec ebx
inc ecx
xor eax, 0x3c384441
add esp, 4
or esi, 0xc85d
pop esi
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x1a18], ecx
push 0
call dword [ebp - 0x1a18]
push eax
and eax, 0xd5e6
add eax, 0x57f7
call 0x407e7a
add byte [esi + 0x3b], al
xor eax, 0x404d3450
inc esp
dec ebp
add esp, 4
call 0x407e8b
add byte [edx], bh
dec esi
cmp bh, byte [eax + edx*2]
inc esp
cmp al, 0x43
add esp, 4
pop eax
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff02ff
pop ecx
push edx
push ebp
test esi, eax
push es
sub edx, 0xffffffb6
cmp byte [edx], al
add al, byte [ebx + 0x2e018ca]
add al, byte [ebx + 0x2cfb2e2]
add al, byte [ebx + 0x3741be2]
add bl, byte [edx + 0x59]
pop ecx
sub ecx, 0x35
or al, byte [ebx]
add al, byte [ebx + 0x2baffe9]
add al, byte [ebx + 0x33d65f9]
add ah, byte [ecx - 0x38]
stc
cmp eax, 0xc8610203
xchg dword [edx + 0x490101f0], esi
enter 0xffffffffffffb387, 0xfffffffffffffff0
add dword [ecx], eax
enter 0xffffffffffffb487, 0xfffffffffffffff0
add dword [ecx], eax
jbe 0x407ead
xchg dword [ebp + 0x4f0101f0], esi
enter 0xffffffffffffb687, 0xfffffffffffffff0
add dword [ecx], eax
jno 0x407ebb
xchg dword [edi + 0x660101f0], esi
enter 0xffffffffffffb887, 0xfffffffffffffff0
add dword [ecx], eax
ja 0x407ec9
xchg dword [ecx + 0x6e0101f0], edi
enter 0xffffffffffffba87, 0xfffffffffffffff0
add dword [ecx], eax
enter 0xffffffffffffbb87, 0xfffffffffffffff0
add dword [ecx], eax
dec edx
enter 0xffffffffffffbc87, 0xfffffffffffffff0
add dword [ecx], eax
arpl ax, cx
xchg dword [ebp + 0x700101f0], edi
enter 0xffffffffffffbe87, 0xfffffffffffffff0
add dword [ecx], eax
enter 0xffffffffffffbf87, 0xfffffffffffffff0
add dword [ecx], eax
outsb dx, byte [esi]
enter 0xffffffffffffc087, 0xfffffffffffffff0
add dword [ecx], eax
enter 0xffffffffffffc187, 0xfffffffffffffff0
add dword [ecx], eax
pop ecx
enter 0xffffffffffffc287, 0xfffffffffffffff0
add dword [ecx], eax
add dl, byte [edx - 0x7d]
ljmp 0xea83