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

Disassembly:
push edi
push edi
add esp, 4
sub edi, 0x12a4b
pop edi
push esi
push eax
add esp, 4
and esi, 0xef0
call 0x40adf4
add byte [esi + 0x35], cl
cmp dword [ebp + 0x44], eax
dec ebp
add esp, 4
pop esi
push edi
push ecx
add esp, 4
jmp 0x40ae02
pop edi
lea eax, [ebp - 0x1628]
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0x4ec]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xc60], edx
xor eax, eax
mov word [ebp - 0x20c], ax
xor ecx, ecx
mov word [ebp - 0x40], cx
push eax
push esi
add esp, 4
add eax, 0x5f6e
and eax, 0xf2a3
add eax, 0x152b2
pop eax
push ecx
xor ecx, 0x79d5
add ecx, 0x11167
xor ecx, 0x895c
or ecx, 0x8655
add byte [ecx - 0x75], bl
xchg ebp, eax
mov al, byte [0x66fffff3]
mov eax, dword [edx]
add byte [ecx - 0x75], bl
xchg ebp, eax
mov al, byte [0x66fffff3]
mov eax, dword [edx]
mov word [ebp - 0xf92], ax
mov ecx, dword [ebp - 0xc60]
add ecx, 2
mov dword [ebp - 0xc60], ecx
mov dx, word [ebp - 0xf92]
mov word [ebp - 0x20c], dx
mov eax, dword [ebp - 0xc64]
mov cx, word [eax]
mov word [ebp - 0xf94], cx
mov edx, dword [ebp - 0xc64]
add edx, 2
mov dword [ebp - 0xc64], edx
mov ax, word [ebp - 0xf94]
mov word [ebp - 0x40], ax
push ecx
jmp 0x40aebc
or ecx, 0x323a
add ecx, 0x7157
pop ecx
push ebx
xor ebx, 0x9c1c
sub ebx, 0xe064
call 0x40aee4
add byte [ebp + 0x33], al
aas
cmp eax, 0x45374439
add esp, 4
pop ebx
movzx ecx, word [ebp - 0x40]
test ecx, ecx
jne 0x40af05
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
sub edx, eax
mov dword [ebp - 0x157c], edx
jmp 0x40af5f
movzx ecx, word [ebp - 0x20c]
movzx edx, word [ebp - 0x40]
cmp ecx, edx
je 0x40ae2d
movzx eax, word [ebp - 0x20c]
xor eax, 0x20
movzx ecx, word [ebp - 0x40]
cmp eax, ecx
je 0x40ae2d
movzx edx, word [ebp - 0x20c]
movzx eax, word [ebp - 0x40]
cmp edx, eax
jge 0x40af49
mov dword [ebp - 0x1578], 0xffffffff
jmp 0x40af53
mov dword [ebp - 0x1578], 1
mov ecx, dword [ebp - 0x1578]
mov dword [ebp - 0x157c], ecx
cmp dword [ebp - 0x157c], 0
jne 0x40afa8
push edx
and edx, 0x2c90
jmp 0x40af75
or edx, 0x10b26
and edx, 0x675b
add byte [edx + 0x53], bl
push edx
add esp, 4
add ebx, 0x150a3
or ebx, 0xe7b9
xor ebx, 0x42eb
pop ebx
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x2a8], edx
jmp 0x40b010
push eax
xor eax, 0x10696
xor eax, 0x13fe0
pop eax
push edi
push eax
add esp, 4
xor edi, 0x524
pop edi
push esi
xor esi, 0x5b6d
call 0x40afd6
add byte [0x45504244], bh
inc edx
add esp, 4
pop esi
mov eax, dword [ebp - 0x4ec]
mov ecx, dword [eax]
mov dword [ebp - 0x4ec], ecx
mov edx, dword [ebp - 0x4ec]
cmp edx, dword [ebp - 0xc68]
je 0x40b006
mov eax, dword [ebp - 0x4ec]
cmp dword [eax + 0x30], 0
jne 0x40add1
mov dword [ebp - 0x2a8], 0
push edx
push ecx
add esp, 4
add edx, 0x9ace
and edx, 0x14add
pop edx
push ebx
sub ebx, 0x14fad
sub ebx, 0x14d63
sub ebx, 0x1057c
pop ebx
push eax
push ecx
add esp, 4
add al, 0x81
enter 0xffffffffffffee6e, 0
add byte [eax - 0x75], bl
lea ebx, [eax - 3]
invalid
dec dword [ebx - 0x6a76e7af]
cld
cld
invalid
call dword [edx - 0x15]
invalid
add edx, 0x6830
sub edx, 0x159ea
pop edx
push edi
push esi
add esp, 4
or edi, 0xfc08
or edi, 0x115cb
or edi, 0x2213
or edi, 0x99d1
pop edi
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 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