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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x88
mov dword [esp + 0x18], 0x3e766261
mov dword [esp + 0x1c], 0x62606c68
lea ebx, [esp + 0x20]
mov byte [esp + 0x20], 8
mov word [esp + 0x21], 0
mov byte [esp + 0x23], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xb
ja 0x40f9a6
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411d20
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xc
jb 0x40f980
lea esi, [esp + 0x7f]
lea ebp, [esp + 0x18]
mov eax, ebp
mov ecx, 2
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x87]
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x87], al
mov dword [esp + 0x18], 0x61f767d9
mov dword [esp + 0x1c], 0x5dee63f6
mov dword [esp + 0x20], 0x59c85fc3
mov dword [esp + 0x24], 0x558d5bd4
mov dword [esp + 0x28], 0x51dd57f8
mov dword [esp + 0x2c], 0x4dcd53c0
mov dword [esp + 0x30], 0x49ae4f86
mov dword [esp + 0x34], 0x45da4beb
mov dword [esp + 0x38], 0x41d247d4
mov dword [esp + 0x3c], 0x3ddf43db
mov dword [esp + 0x40], 0x39b23f9f
mov dword [esp + 0x44], 0x35ab3ba3
mov dword [esp + 0x48], 0x31e737a2
mov dword [esp + 0x4c], 0x2de533b8
mov dword [esp + 0x50], 0x29a72fa5
mov dword [esp + 0x54], 0x25fd2ba1
mov dword [esp + 0x58], 0x21b727ba
mov dword [esp + 0x5c], 0x1db523b2
mov dword [esp + 0x60], 0x19911fcb
mov dword [esp + 0x64], 0x158e1b8a
mov dword [esp + 0x68], 0x1180178b
mov dword [esp + 0x6c], 0xd83138d
mov dword [esp + 0x70], 0x9910f90
mov dword [esp + 0x74], 0x5fd0b94
mov dword [esp + 0x78], 0x10607fe
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x63
ja 0x40fad6
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411e20
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x64
jb 0x40fab0
mov edi, dword [esp + 0x9c]
mov dword [esp], 0x294d2b75
mov dword [esp + 4], 0x2d412fb8
mov word [esp + 8], 0x532c
mov dword [esp + 0xa], 0
mov byte [esp + 0xe], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0xe
ja 0x40fb49
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax]
push dword [esp + 0x10]
push eax
call fcn.00411da0
add esp, 8
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0xf
jb 0x40fb20
lea eax, [esp + 0x10]
mov ecx, esp
push 0
push eax
push 8
push esi
push ebp
push ecx
push edi
call fcn.00410560
add esp, 0x1c
test al, al
je 0x40fc74
mov word [esp + 0x18], 0x6a6f
mov byte [esp + 0x1a], 0xc2
mov word [esp + 0x1b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x40fbb6
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411e80
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x40fb90
xor eax, eax
mov ecx, dword [esp + 0x10]
nop
nop
nop
nop
movzx edx, byte [ecx + eax]
mov dh, byte [esp + eax + 0x18]
test dl, dl
je 0x40fbd1
inc eax
cmp dl, dh
je 0x40fbc0
mov al, 1
mov dword [esp + 0x14], eax
cmp dl, dh
je 0x40fe32
mov dword [esp + 0x18], 0xff11ece3
mov dword [esp + 0x1c], 0x6ff8faf5
mov word [esp + 0x20], 0
mov byte [esp + 0x22], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xa
ja 0x40fc36
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411ee0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xb
jb 0x40fc10
mov eax, dword [esp + 0x10]
movzx ebx, byte [esp + 0x18]
test bl, bl
je 0x40fc7b
mov edx, ebp
mov ecx, eax
jmp 0x40fc57
movzx ebx, byte [edx]
test bl, bl
je 0x40fc7d
mov bh, byte [eax]
test bh, bh
je 0x40fe2a
inc eax
inc edx
lea esi, [ecx + 1]
cmp bh, bl
je 0x40fc6e
mov ecx, esi
mov eax, esi
je 0x40fc50
mov edx, ebp
jmp 0x40fc50
xor eax, eax
jmp 0x40fe42
mov ecx, eax
test ecx, ecx
je 0x40fe2a
mov dword [esp + 0x18], 0xe6efe0ee
mov dword [esp + 0x1c], 0xd3e72719
mov dword [esp + 0x20], 0x2b28e2e7
mov dword [esp + 0x24], 0xdae2ecda
mov dword [esp + 0x28], 0xb3d0ec15
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x13
ja 0x40fce6
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411f60
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x14
jb 0x40fcc0
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x18]
test cl, cl
je 0x40fd24
lea edi, [esp + 0x18]
mov edx, edi
mov esi, eax
jmp 0x40fd07
movzx ecx, byte [edx]
test cl, cl
je 0x40fd26
mov ch, byte [eax]
test ch, ch
je 0x40fe2a
inc eax
inc edx
lea ebx, [esi + 1]
cmp ch, cl
je 0x40fd1e
mov esi, ebx
mov eax, ebx
je 0x40fd00
mov edx, edi
jmp 0x40fd00
mov esi, eax
test esi, esi
je 0x40fe2a
mov word [esp + 0x18], 0x716e
mov byte [esp + 0x1a], 0x4e
mov dword [esp + 0x1b], 0
mov byte [esp + 0x1f], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 7
ja 0x40fd86
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411fd0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 8
jb 0x40fd60
movzx eax, byte [esp + 0x18]
test al, al
je 0x40fdc0
add esi, 0x13
lea ebp, [esp + 0x18]
mov ecx, ebp
mov edx, esi
mov edi, esi
jmp 0x40fda7
movzx eax, byte [ecx]
test al, al
je 0x40fdd1
mov ah, byte [edx]
test ah, ah
je 0x40fe2a
inc edx
inc ecx
lea ebx, [edi + 1]
cmp ah, al
je 0x40fdba
mov edi, ebx
mov edx, ebx
je 0x40fda0
mov ecx, ebp
jmp 0x40fda0
mov byte [0x454d60], 1
mov eax, 0x454d62
jmp 0x40fe53
test edi, edi
je 0x40fe2a
mov byte [0x454d60], 1
mov dword [esp + 0x18], 0
mov eax, 0x454d62
cmp esi, edi
jae 0x40fe53
xor ebx, ebx
lea ebp, [esp + 0x18]
cmp byte [esi], 0
je 0x40fe4d
push ebp
push edi
push esi
call fcn.00411600
add esp, 0xc
movzx edx, word [esp + 0x18]
lea ecx, [ebx + 2]
mov word [ebx + 0x454d62], dx
cmp ebx, 0x1fb
ja 0x40fe22
add esi, eax
mov ebx, ecx
cmp esi, edi
jb 0x40fdf3
lea eax, [ecx + 0x454d62]
jmp 0x40fe53
mov dword [esp + 0x14], 0
push dword [esp + 0x10]
call fcn.00443de0
add esp, 4
mov eax, dword [esp + 0x14]
add esp, 0x88
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebx + 0x454d62]
mov word [eax], 0
jmp 0x40fe32