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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp + 0x18], 0xf6be9291
mov dword [esp + 0x1c], 0xb2b0b4b8
lea ebx, [esp + 0x20]
mov byte [esp + 0x20], 0x28
mov dword [esp + 0x21], 0
mov byte [esp + 0x25], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xd
ja 0x40f5e6
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.004114b0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xe
jb 0x40f5c0
lea esi, [esp + 0x83]
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 + 0x8b]
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x8b], al
mov dword [esp + 0x18], 0x21b727d9
mov dword [esp + 0x1c], 0xddae23b6
mov dword [esp + 0x20], 0xd948df43
mov dword [esp + 0x24], 0xd50ddb54
mov dword [esp + 0x28], 0xd15dd738
mov dword [esp + 0x2c], 0xcd4dd340
mov dword [esp + 0x30], 0xc9eecf06
mov dword [esp + 0x34], 0xc55acb2b
mov dword [esp + 0x38], 0xc152c754
mov dword [esp + 0x3c], 0xfd5fc35b
mov dword [esp + 0x40], 0xf972ff1f
mov dword [esp + 0x44], 0xf56bfb63
mov dword [esp + 0x48], 0xf127f762
mov dword [esp + 0x4c], 0xed25f378
mov dword [esp + 0x50], 0xe967ef65
mov dword [esp + 0x54], 0xe53deb61
mov dword [esp + 0x58], 0xe177e77a
mov dword [esp + 0x5c], 0x9d75e372
mov dword [esp + 0x60], 0x99119f4b
mov dword [esp + 0x64], 0x950e9b0a
mov dword [esp + 0x68], 0x9100970b
mov dword [esp + 0x6c], 0x8d03930d
mov dword [esp + 0x70], 0x89118f10
mov dword [esp + 0x74], 0x85bd8b14
mov dword [esp + 0x78], 0x818687be
mov dword [esp + 0x7c], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x67
ja 0x40f726
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.004115b0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x68
jb 0x40f700
mov edi, dword [esp + 0xa0]
mov dword [esp], 0x9737994b
mov dword [esp + 4], 0x930b9504
mov dword [esp + 8], 0x9190
mov byte [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0xc
ja 0x40f789
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
movzx eax, byte [esp + eax]
push dword [esp + 0x10]
push eax
call fcn.00411530
add esp, 8
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0xd
jb 0x40f760
lea eax, [esp + 0x10]
mov ecx, esp
push 0
push eax
push 8
push esi
push ebp
push ecx
push edi
call fcn.004101f0
add esp, 0x1c
test al, al
je 0x40f8b4
mov word [esp + 0x18], 0xe695
mov byte [esp + 0x1a], 0x7a
mov word [esp + 0x1b], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 4
ja 0x40f7f6
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 0x18]
push dword [esp]
push eax
call fcn.00411630
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 5
jb 0x40f7d0
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 0x40f811
inc eax
cmp dl, dh
je 0x40f800
mov al, 1
mov dword [esp + 0x14], eax
cmp dl, dh
je 0x40fa82
mov dword [esp + 0x18], 0xebd9a497
mov dword [esp + 0x1c], 0x73e0e6dd
mov word [esp + 0x20], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 9
ja 0x40f876
nop
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.004116b0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xa
jb 0x40f850
mov eax, dword [esp + 0x10]
movzx ebx, byte [esp + 0x18]
test bl, bl
je 0x40f8bb
mov edx, ebp
mov ecx, eax
jmp 0x40f897
movzx ebx, byte [edx]
test bl, bl
je 0x40f8bd
mov bh, byte [eax]
test bh, bh
je 0x40fa7a
inc eax
inc edx
lea esi, [ecx + 1]
cmp bh, bl
je 0x40f8ae
mov ecx, esi
mov eax, esi
je 0x40f890
mov edx, ebp
jmp 0x40f890
xor eax, eax
jmp 0x40fa92
mov ecx, eax
test ecx, ecx
je 0x40fa7a
mov dword [esp + 0x18], 0xdae3a89a
mov dword [esp + 0x1c], 0xefd31b31
mov dword [esp + 0x20], 0x1f10e6e3
mov dword [esp + 0x24], 0xe6eedce6
mov dword [esp + 0x28], 0x67083cd5
mov word [esp + 0x2c], 0
mov byte [esp + 0x2e], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x16
ja 0x40f936
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.00411740
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x17
jb 0x40f910
mov eax, dword [esp + 0x10]
movzx ecx, byte [esp + 0x18]
test cl, cl
je 0x40f974
lea edi, [esp + 0x18]
mov edx, edi
mov esi, eax
jmp 0x40f957
movzx ecx, byte [edx]
test cl, cl
je 0x40f976
mov ch, byte [eax]
test ch, ch
je 0x40fa7a
inc eax
inc edx
lea ebx, [esi + 1]
cmp ch, cl
je 0x40f96e
mov esi, ebx
mov eax, ebx
je 0x40f950
mov edx, edi
jmp 0x40f950
mov esi, eax
test esi, esi
je 0x40fa7a
mov word [esp + 0x18], 0xd13e
mov byte [esp + 0x1a], 0x1e
mov word [esp + 0x1b], 0
mov byte [esp + 0x1d], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 5
ja 0x40f9d6
nop
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.004117d0
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 0x18], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 6
jb 0x40f9b0
movzx eax, byte [esp + 0x18]
test al, al
je 0x40fa10
add esi, 0x13
lea ebp, [esp + 0x18]
mov ecx, ebp
mov edx, esi
mov edi, esi
jmp 0x40f9f7
movzx eax, byte [ecx]
test al, al
je 0x40fa21
mov ah, byte [edx]
test ah, ah
je 0x40fa7a
inc edx
inc ecx
lea ebx, [edi + 1]
cmp ah, al
je 0x40fa0a
mov edi, ebx
mov edx, ebx
je 0x40f9f0
mov ecx, ebp
jmp 0x40f9f0
mov byte [0x454fcc], 1
mov eax, 0x454fce
jmp 0x40faa3
test edi, edi
je 0x40fa7a
mov byte [0x454fcc], 1
mov dword [esp + 0x18], 0
mov eax, 0x454fce
cmp esi, edi
jae 0x40faa3
xor ebx, ebx
lea ebp, [esp + 0x18]
cmp byte [esi], 0
je 0x40fa9d
push ebp
push edi
push esi
call fcn.004110d0
add esp, 0xc
movzx ecx, word [esp + 0x18]
mov word [ebx + 0x454fce], cx
lea ecx, [ebx + 2]
cmp ebx, 0x1fb
ja 0x40fa72
add esi, eax
mov ebx, ecx
cmp esi, edi
jb 0x40fa43
lea eax, [ecx + 0x454fce]
jmp 0x40faa3
mov dword [esp + 0x14], 0
push dword [esp + 0x10]
call fcn.004439e0
add esp, 4
mov eax, dword [esp + 0x14]
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebx + 0x454fce]
mov word [eax], 0
jmp 0x40fa82