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

Disassembly:
push edx
call fcn.0040aa0d
add byte [esi], dh
push eax
inc esi
inc eax
inc edx
inc edi
inc ebp
dec ebx
inc ebp
add esp, 4
sub eax, 0x571e
call 0x40ac11
add byte [edx], dh
inc ebp
inc esp
inc esi
xor eax, 0x834a3648
les eax, [ecx + eax*4]
sar byte [ebx], 0xe9
add byte [eax], al
pop eax
mov edx, dword [ebp - 0x50c]
mov eax, dword [edx]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [ebp - 0xca8]
je 0x40ac47
mov edx, dword [ebp - 0x50c]
cmp dword [edx + 0x30], 0
jne 0x40a9fd
mov dword [ebp - 0x754], 0
push eax
sub eax, 0x11c1b
xor eax, 0x60de
xor eax, 0xbfdf
pop eax
push ebx
push eax
add esp, 4
and ebx, 0x5951
call 0x40ac7f
add byte [eax + 0x36], al
cmp dword [eax + 0x4f], eax
dec edx
dec ecx
add esp, 4
pop ebx
cmp dword [ebp - 0x754], 0
jne 0x40accd
push edi
push edx
add esp, 4
or edi, 0x550e
pop edi
push ebx
push eax
add esp, 4
or ebx, 0x1730a
add ebx, 0x14e0e
pop ebx
push ecx
push edx
add esp, 4
or ecx, 0x32fb
pop ecx
push edx
xor edx, 0x127d6
pop edx
mov dword [ebp - 0x7a0], 0
jmp 0x40b7f4
push edi
push edx
add esp, 4
or edi, 0x14920
and edi, 0xd3cd
jmp 0x40ace4
and edi, 0x13944
pop edi
push ebx
xor ebx, 0xa59e
xor ebx, 0x178cc
or ebx, 0x13466
pop ebx
mov eax, dword [ebp - 0x754]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0x764], 0
mov edx, dword [ebp - 0x320]
mov dword [ebp - 0x15f8], edx
cmp dword [ebp - 0x15f8], 0
jne 0x40ad3e
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x40b02f
mov ecx, dword [ebp - 0x15f8]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x15fc], edx
jne 0x40ad66
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], eax
jmp 0x40b02f
mov ecx, 8
imul edx, ecx, 0
mov eax, dword [ebp - 0x15fc]
mov ecx, dword [eax + edx + 0x78]
mov dword [ebp - 0x1600], ecx
cmp dword [ebp - 0x1600], 0
jne 0x40ad98
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
jmp 0x40b02f
mov eax, dword [ebp - 0x320]
add eax, dword [ebp - 0x1600]
mov dword [ebp - 0x758], eax
jne 0x40adbd
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], ecx
jmp 0x40b02f
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + 0x20]
mov dword [ebp - 0x1998], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x320]
add edx, dword [ecx + 0x24]
mov dword [ebp - 0x199c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + 0x1c]
mov dword [ebp - 0x19a0], ecx
mov dword [ebp - 0x75c], 0
jmp 0x40ae17
mov edx, dword [ebp - 0x75c]
add edx, 1
mov dword [ebp - 0x75c], edx
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x75c]
cmp ecx, dword [eax + 0x18]
jae 0x40b023
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x1998]
mov ecx, dword [ebp - 0x320]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x75c]
mov eax, dword [ebp - 0x199c]
movzx ecx, word [eax + edx*2]
mov edx, dword [ebp - 0x19a0]
mov eax, dword [ebp - 0x320]
add eax, dword [edx + ecx*4]
mov dword [ebp - 0x19a4], eax
mov dword [ebp - 0x194], 0
jmp 0x40ae87
mov ecx, dword [ebp - 0x194]
add ecx, 1
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
test eax, eax
je 0x40af39
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
test edx, edx
je 0x40af39
push ecx
push edx
add esp, 4
call 0x40aec8
add byte [edx], bh
aaa
cmp byte [edi + 0x35], al
aas
inc ebx
cmp al, 0x37
add esp, 4
and ecx, 0x1853
or ecx, 0x14a78
add ecx, 0x11074
pop ecx
push ebx
and ebx, 0x16ce8
pop ebx
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
cmp ecx, eax
je 0x40af2b
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x194]
movsx edx, byte [ecx]
xor edx, 0x20
mov eax, dword [ebp - 0x194]
movsx ecx, byte [ebp + eax - 0x898]
cmp edx, ecx
jne 0x40af32
jmp 0x40ae78
jmp 0x40af39
push esi
jmp 0x40af42
add esi, 0xad97
add esi, 0x12387
pop esi
push ecx
sub ecx, 0x7be3
pop ecx
push esi
xor esi, 0x11f9b
or esi, 0x12edc
or esi, 0x778b
pop esi
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x194]
movsx eax, byte [edx]
mov ecx, dword [ebp - 0x194]
movsx edx, byte [ebp + ecx - 0x898]
cmp eax, edx
jne 0x40af98
mov dword [ebp - 0xcac], 0
jmp 0x40b007
push esi
or esi, 0x82ec
xor esi, 0xd9f2
call 0x40afb5
add byte [eax + 0x48], dl
cmp eax, 0x4048413a
inc ecx
inc esi
dec eax
add esp, 4
pop esi
push edx
push edx
add esp, 4
add edx, 0xac6a
jmp 0x40afc9
pop edx
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x194]
movsx ecx, byte [eax]
or ecx, 0x20
mov edx, dword [ebp - 0x194]
movsx eax, byte [ebp + edx - 0x898]
or eax, 0x20
cmp ecx, eax
jge 0x40affd
mov dword [ebp - 0xcac], 0xffffffff
jmp 0x40b007
mov dword [ebp - 0xcac], 1
cmp dword [ebp - 0xcac], 0
jne 0x40b01e
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x3f8], ecx
jmp 0x40b02f
jmp 0x40ae08
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3f8], edx
cmp dword [ebp - 0x3f8], 0
je 0x40b10a
push ebx
sub ebx, 0x44f3
add ebx, 0x5d86
sub ebx, 0xbefc
and ebx, 0xbeca
pop ebx
push esi
push eax
add esp, 4
and esi, 0xb409
xor esi, 0x2f22
and esi, 0x9169
pop esi
mov eax, dword [ebp - 0x3f8]
mov dword [ebp - 0x19a8], eax
push ecx
or ecx, 0x1ab3
jmp 0x40b087
pop ecx
push edi
sub edi, 0x1fad
or edi, 0xf3a
sub edi, 0x6e5c
pop edi
push ebx
jmp 0x40b0a5
or ebx, 0x12ac7
pop ebx
mov ecx, dword [ebp - 0x19a8]
mov dword [ebp - 0x19ac], ecx
lea edx, [ebp - 0x1740]
push edx
call dword [ebp - 0x19ac]
test eax, eax
jne 0x40b10a
push edi
jmp 0x40b0d3
jmp 0x40b0da
jmp 0x40b0e1
call 0x40b0ef
add byte [esi + 0x4d], cl
xor cl, byte [esp + ecx*2 + 0x42]
dec esi
add esp, 4
pop edi
push ecx
add ecx, 0xb9
pop ecx
mov dword [ebp - 0x7a0], 0
jmp 0x40b7f4