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

Disassembly:
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xc68], ecx
push ebx
and ebx, 0x63d
pop ebx
push edx
add edx, 0x7a38
add edx, 0x92f6
or edx, 0x4b85
pop edx
push esi
xor esi, 0xf266
add esi, 0xcf46
pop esi
push ecx
xor ecx, 0x1620b
pop ecx
cmp dword [ebp - 0xc68], 0
jne 0x40adc5
mov dword [ebp - 0x2a8], 0
jmp 0x40b010
mov edx, dword [ebp - 0xc68]
mov dword [ebp - 0x4ec], edx
push eax
add eax, 0x767c
pop eax
push edx
call 0x40ade9
add byte [edi + 0x4d], cl
aaa
inc eax
inc ebx
inc ecx
dec esi
inc esi
add esp, 4
call 0x40adf9
add byte [eax + ecx*2 + 0x46], cl
dec esi
inc eax
aas
xor eax, 0x8104c483
std
rol byte [eax], 1
add byte [edx - 0x73], bl
test eax, ebx
jmp 0x85caae0a
push eax
push ebx
add esp, 4
sub eax, 0x9b8b
jmp 0x40b024
pop eax
push ebx
push eax
add esp, 4
add ebx, 0x370a
call 0x40b03e
add byte [edx + 0x4c], cl
xor eax, 0x3f414250
inc edx
inc ecx
aas
inc edx
add esp, 4
pop ebx
mov ecx, dword [ebp - 0x2a8]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x304], edx
push edx
push ecx
add esp, 4
xor edx, 0x541d
call 0x40b06a
add byte [edx + 0x4b], al
xor al, 0x40
dec ebp
dec ebp
add esp, 4
call 0x40b079
add byte [edi + 0x3f], cl
inc ecx
inc edx
xor al, 0x49
add esp, 4
jmp 0x40b082
pop edx
mov dword [ebp - 0x730], 0
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x1580], eax
cmp dword [ebp - 0x1580], 0
jne 0x40b0b3
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40b3a4
mov edx, dword [ebp - 0x1580]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1584], eax
jne 0x40b0db
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], ecx
jmp 0x40b3a4
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1584]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1588], edx
cmp dword [ebp - 0x1588], 0
mov ebp, 0xffffea78
add byte [ebp + 0x11], dh
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
jmp 0x40b3a4
mov ecx, dword [ebp - 0x304]
add ecx, dword [ebp - 0x1588]
mov dword [ebp - 0x724], ecx
jne 0x40b132
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], edx
jmp 0x40b3a4
mov eax, dword [ebp - 0x724]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x1900], ecx
mov edx, dword [ebp - 0x724]
mov eax, dword [ebp - 0x304]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1904], eax
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1908], edx
mov dword [ebp - 0x728], 0
jmp 0x40b18c
mov ecx, dword [ebp - 0x724]
mov edx, dword [ebp - 0x728]
cmp edx, dword [ecx + 0x18]
jae 0x40b398
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1900]
mov edx, dword [ebp - 0x304]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x728]
mov ecx, dword [ebp - 0x1904]
movzx edx, word [ecx + eax*2]
adc al, 0x41
mov eax, dword [ebp - 0x1908]
mov ecx, dword [ebp - 0x304]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x190c], ecx
mov dword [ebp - 0x18c], 0
jmp 0x40b1fc
mov edx, dword [ebp - 0x18c]
add edx, 1
mov dword [ebp - 0x18c], edx
mov eax, dword [ebp - 0x72c]
add eax, dword [ebp - 0x18c]
movsx ecx, byte [eax]
test ecx, ecx
je 0x40b2ae
mov edx, dword [ebp - 0x18c]
movsx eax, byte [ebp + edx - 0x960]
test eax, eax
je 0x40b2ae
push edi
push eax
add esp, 4
or edi, 0x7228
or edi, 0xa0a4
add edi, 0x56af
pop edi
push ecx
jmp 0x40b248
xor ecx, 0x183b5
or ecx, 0xd343
add ecx, 0x13574
pop ecx
mov ecx, dword [ebp - 0x72c]
add ecx, dword [ebp - 0x18c]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x18c]
movsx ecx, byte [ebp + eax - 0x960]
cmp edx, ecx
je 0x40b2a0
mov edx, dword [ebp - 0x72c]
add edx, dword [ebp - 0x18c]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x18c]
movsx edx, byte [ebp + ecx - 0x960]
cmp eax, edx
jne 0x40b2a7
jmp 0x40b1ed
jmp 0x40b2ae
push esi
push eax
add esp, 4
jmp 0x40b2bb
call 0x40b2c8
add byte [edx], dh
dec ecx
inc edx
inc ecx
inc ecx
inc ebp
mov eax, dword [ebp - 0x730]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x4f0]
mov dword [ebp - 0xa58], ecx
push ecx
push edx
add esp, 4
xor ecx, 0x73bb
or ecx, 0x10d39
pop ecx
push edi
call 0x40b3d0
add byte [ebx + 0x37], al
dec eax
cmp al, 0x3d
xor eax, 0x4c48342
jmp 0x40b3d9
pop edi
push edi
sub edi, 0x11098
pop edi
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x1910], edx
lea eax, [ebp - 0xc70]
push eax
push 0x40
mov ecx, dword [ebp - 0x158c]
push ecx
mov edx, dword [ebp - 0x3cc]
push edx
call dword [ebp - 0x1910]
test eax, eax
jne 0x40b455
push edx
and edx, 0x129b6
pop edx
push ebx
push esi
add esp, 4
jmp 0x40b422
xor ebx, 0x127dc
jmp 0x40b42f
pop ebx
push esi
push ecx
add esp, 4
jmp 0x40b43a
and esi, 0x135a
pop esi
mov eax, dword [ebp - 0x738]
mov dword [ebp - 0x1914], eax
push 0
call dword [ebp - 0x1914]
mov ecx, dword [ebp - 0x1918]
mov dword [ebp - 0x734], ecx
jmp 0x40b472
mov edx, dword [ebp - 0x734]
add edx, 1
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
cmp eax, dword [ebp - 0xa5c]
jae 0x40b4ce
push ecx
push edx
add esp, 4
call 0x40b494
add byte [ecx + 0x34], cl
inc edi
inc ebx
inc ebx
cmp esi, dword [edi + ecx*2]
xor eax, dword [ebx - 0xe7efb3c]
sub ebp, dword [edx + 1]
add byte [ecx + 0x50], bl
or eax, 0xaeef
xor eax, 0x188
and eax, 0x11194
pop eax
movzx ecx, byte [ebp - 0x381]
mov edx, dword [ebp - 0x734]
movsx eax, byte [edx]
sub eax, ecx
mov ecx, dword [ebp - 0x734]
mov byte [ecx], al
jmp 0x40b463
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0x191c], edx
lea eax, [ebp - 0xc70]
push eax
mov ecx, dword [ebp - 0xc70]
push ecx
mov edx, dword [ebp - 0x158c]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call dword [ebp - 0x191c]
test eax, eax
jne 0x40b546
push esi
sub esi, 0x14fae
or esi, 0x1187e
pop esi
push edx
push esi
add esp, 4
and edx, 0xf372
pop edx
push esi
jmp 0x40b524
jmp 0x40b52b
sub esi, 0xb359
pop esi
mov ecx, dword [ebp - 0x738]
mov dword [ebp - 0x1920], ecx
push 0
call dword [ebp - 0x1920]
push edi
xor edi, 0x51d6
add edi, 0x733d
pop edi
push ecx
push ecx
add esp, 4
and ecx, 0x399b
pop ecx
push esi
jmp 0x40b568
call 0x40b574
add byte [edi], bh
inc esp
cmp cl, byte [esi + 0x46]
cmp eax, dword [ebx + 0x525e04c4]
mov ecx, 0x10101010
pop edx
push ecx
mov ecx, 0xffff04ff
pop ecx
push esp
pop edx
xchg eax, ecx
or ah, ch
or al, 4
add al, 4
add al, 0x3c
cmp byte [ebx + 0x39], dl
dec edx
inc ebx
xchg eax, ecx
or byte [ebp + 0x437dcc4], al
add al, 0x5c
pop ebx
push esi
xchg eax, ecx
or ah, ch
or al, 4
add al, 4
add al, 0x53
dec ebp
inc edx
inc edx