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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x40fdf4
add esp, 0xffffff80
xor eax, eax
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0x8c]
xor ebp, ebp
jmp 0x40f71c
mov esi, ecx
mov ecx, edx
mov edx, ebx
mov ebx, esi
mov esi, dword [esp + 0x90]
jmp 0x40f949
mov dword [esp + 0x70], edx
movzx edi, byte [ecx]
mov dword [esp + 0x30], edi
nop
and edi, 0x7f
lea esi, [ecx + 1]
mov ecx, ebx
mov ebx, dword [esp + 0x30]
test ebx, 0x80
jne 0x40f772
test edi, edi
jne 0x40f758
test edx, edx
je 0x40f98d
xor ebx, ebx
jmp 0x40f714
shr edi, 3
mov dword [esp + 8], edi
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
jmp 0x40fd25
mov dword [esp + 0x24], ebp
mov dword [esp + 0x7c], ecx
test edi, edi
jne 0x40f785
xor ebx, ebx
jmp 0x40fcdb
mov dword [esp + 0x10], edi
xor ebx, ebx
xor ebx, ebx
mov dword [esp + 4], ebx
xor ebx, ebx
jmp 0x40f9ea
mov dword [esp + 0x78], ebp
mov edx, dword [esp + 0x10]
imul ebx, edx
cmp edx, 0x19
ja 0x40f7f4
mov dword [esp + 0xc], eax
mov esi, dword [esp + 0x90]
cmp esi, 1
jne 0x40f7d6
nop
mov edi, dword [esp + 0x7c]
mov ecx, esi
lea esi, [edi - 1]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
jmp 0x40fcbe
nop
mov edi, dword [esp + 0x7c]
mov ecx, esi
lea esi, [edi - 1]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x24]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
jmp 0x40faf4
sub edx, eax
mov esi, dword [esp + 0x90]
cmp esi, 1
jne 0x40f886
lea edi, [edx + 7]
shr edi, 3
and edx, 7
mov ecx, esi
mov esi, dword [esp + 0x7c]
sub esi, edi
mov edi, esi
test edx, edx
je 0x40f860
mov dword [esp + 0x30], edi
mov dword [esp + 0x1c], edx
lea edi, [edx - 8]
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x2c], edx
movzx edx, byte [esi]
mov esi, ecx
mov ecx, edi
shr edx, cl
mov edi, dword [esp + 0x2c]
and edx, edi
mov ecx, eax
shl edx, cl
mov edi, dword [esp + 0x24]
or edi, edx
nop
mov edx, dword [esp + 0x1c]
add eax, edx
sub ebx, edx
mov edx, dword [esp + 0x30]
inc edx
jmp 0x40f868
mov edx, esi
mov edi, dword [esp + 0x24]
mov esi, ecx
mov dword [esp + 0x20], ebx
mov ecx, ebx
shr ebx, 3
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x54]
jmp 0x40fa9a
lea edi, [edx + 3]
shr edi, 2
and edx, 3
mov ecx, esi
mov esi, dword [esp + 0x7c]
sub esi, edi
mov edi, esi
test edx, edx
je 0x40f8e3
mov dword [esp + 0x30], edi
mov dword [esp + 0x18], edx
lea edi, [edx - 4]
xchg edi, ebx
neg ebx
xchg edi, ebx
cmp edi, 0x20
sbb edx, edx
mov dword [esp + 0x2c], edx
movzx edx, byte [esi]
and edx, 0xf
mov esi, ecx
mov ecx, edi
shr edx, cl
mov edi, dword [esp + 0x2c]
and edx, edi
mov ecx, eax
shl edx, cl
mov edi, dword [esp + 0x24]
or edi, edx
nop
mov edx, dword [esp + 0x18]
add eax, edx
sub ebx, edx
mov edx, dword [esp + 0x30]
inc edx
jmp 0x40f8eb
mov edx, esi
mov edi, dword [esp + 0x24]
mov esi, ecx
mov dword [esp + 0x20], ebx
mov ecx, ebx
shr ebx, 2
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x5c]
jmp 0x40fa5d
and ecx, 3
test ecx, ecx
jbe 0x40f935
cmp eax, 0x20
sbb ebx, ebx
movzx edx, byte [edx]
mov esi, 1
shl esi, cl
dec esi
and esi, edx
mov edx, ecx
mov ecx, eax
shl esi, cl
and esi, ebx
or edi, esi
add eax, edx
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x64]
mov edx, ebp
mov ebx, dword [esp + 0x70]
mov ebp, edi
jmp 0x40f714
add eax, 0xfffffff8
cmp eax, 8
jb 0x40f728
cmp esi, 1
jne 0x40f962
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
nop
shr ebp, 8
inc ebx
jmp 0x40f946
mov edi, ebp
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebp, edi
shr edi, 4
and edi, 0xf
or edi, 0xf0
xchg edi, eax
mov byte [ebx + 1], al
xchg edi, eax
nop
shr ebp, 8
add ebx, 2
jmp 0x40f946
mov edx, dword [esp + 0x90]
cmp edx, 1
jne 0x40f9b5
mov ebx, ecx
mov edx, dword [esp + 0x8c]
sub ecx, edx
lea ecx, [eax + ecx*8]
mov edx, eax
neg eax
and eax, 7
add eax, edx
jmp 0x40fdee
mov ebx, ecx
mov edx, dword [esp + 0x8c]
sub ecx, edx
lea ecx, [eax + ecx*4]
mov edx, eax
neg eax
and eax, 3
add eax, edx
jmp 0x40fdd3
add ecx, 7
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x10]
mov esi, ebp
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 4]
cmp edx, 0x20
sbb ebp, ebp
movzx edi, byte [esi]
mov dword [esp + 0x30], edi
nop
and edi, 0x7f
mov ecx, edx
shl edi, cl
and edi, ebp
or ebx, edi
lea ebp, [esi + 1]
mov esi, dword [esp + 0x30]
test esi, 0x80
jne 0x40f9d1
jmp 0x40f798
cmp eax, 0x20
sbb esi, esi
movzx ebp, byte [edx]
and ebp, 0xf
mov ecx, eax
shl ebp, cl
and ebp, esi
or edi, ebp
nop
mov ebp, edi
and edi, 0xf
or edi, 0xf0
mov esi, dword [esp + 0x64]
xchg edi, eax
mov byte [esi], al
xchg edi, eax
dec ebx
nop
shr ebp, 4
inc edx
inc esi
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x64], esi
mov edi, ebp
mov ebp, dword [esp + 0x78]
mov esi, dword [esp + 0x90]
test ebx, ebx
ja 0x40fa1a
jmp 0x40f909
cmp eax, 0x20
sbb esi, esi
movzx ebp, byte [edx]
mov ecx, eax
shl ebp, cl
and ebp, esi
or edi, ebp
nop
mov ebp, dword [esp + 0x68]
xchg edi, eax
mov byte [ebp], al
xchg edi, eax
dec ebx
nop
shr edi, 8
inc edx
inc ebp
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x68], ebp
mov ebp, dword [esp + 0x78]
test ebx, ebx
ja 0x40fa66
and ecx, 7
test ecx, ecx
jbe 0x40faca
cmp eax, 0x20
sbb ebx, ebx
movzx edx, byte [edx]
mov esi, 1
shl esi, cl
dec esi
and esi, edx
mov edx, ecx
mov ecx, eax
shl esi, cl
and esi, ebx
or edi, esi
add eax, edx
mov esi, dword [esp + 0x90]
mov ecx, dword [esp + 0x68]
jmp 0x40f939
mov ebp, dword [esp]
shl ebp, 4
movzx ecx, byte [esi]
and ecx, 0xf
or ebp, ecx
nop
add eax, 4
dec esi
mov ecx, dword [esp + 0x90]
mov dword [esp], ebp
mov ebp, dword [esp + 0x78]
cmp eax, edx
jb 0x40fad3
mov esi, dword [esp]
cmp eax, edx
jbe 0x40fb19
sub eax, edx
cmp eax, 0x20
sbb ebp, ebp
mov ecx, eax
shr esi, cl
and esi, ebp
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
mov eax, edx
cmp eax, 1
jne 0x40fb33
cmp esi, 1
jne 0x40fb2f
mov eax, 0x19
mov esi, 0x1ffffff
jmp 0x40fb42
mov eax, ebx
jmp 0x40fb42
lea edx, [eax + eax]
cmp edx, 0x19
ja 0x40fb42
mov edx, eax
jmp 0x40fc59
mov dword [esp], esi
mov edx, dword [esp + 0x24]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
jmp 0x40fb75
mov ecx, dword [esp + 0x20]
sub ecx, eax
mov esi, dword [esp]
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x30], ebx
mov ebx, ecx
mov ecx, dword [esp + 0x90]
cmp eax, ebx
ja 0x40fba3
mov dword [esp + 0x20], ebx
mov ebp, dword [esp + 0x30]
cmp ebp, 0x20
sbb ebx, ebx
mov ecx, ebp
shl esi, cl
and esi, ebx
or edx, esi
lea ebx, [eax + ecx]
mov ebp, dword [esp + 0x90]
cmp ebp, 1
je 0x40fc30
jmp 0x40fc1c
test ebx, ebx
jbe 0x40fbee
mov dword [esp + 0x74], edi
cmp ebx, 0x20
mov eax, ebp
sbb ebp, ebp
mov edi, dword [esp + 0x30]
cmp edi, 0x20
sbb edi, edi
mov dword [esp + 0x2c], edi
mov ecx, ebx
mov edi, 1
shl edi, cl
and edi, ebp
lea ebp, [edi - 1]
and esi, ebp
mov ecx, dword [esp + 0x30]
shl esi, cl
mov ebp, dword [esp + 0x2c]
and esi, ebp
or edx, esi
add ebx, ecx
mov ecx, dword [esp + 0x90]
mov ebp, eax
mov edi, dword [esp + 0x74]
jmp 0x40fbf2
mov ebx, dword [esp + 0x30]
mov eax, ebx
mov ebx, dword [esp + 0x70]
mov ecx, edi
mov ebp, edx
mov edx, dword [esp + 0x78]
jmp 0x40f714
mov esi, edx
and edx, 0xf
or edx, 0xf0
mov byte [edi], dl
nop
shr esi, 4
add ebx, 0xfffffffc
inc edi
mov edx, esi
cmp ebx, 4
jae 0x40fc05
jmp 0x40fb5b
mov byte [edi], dl
nop
shr edx, 8
add ebx, 0xfffffff8
inc edi
cmp ebx, 8
jae 0x40fc26
jmp 0x40fb5b
mov dword [esp + 0x28], esi
sbb ebp, ebp
mov ecx, eax
shl esi, cl
and esi, ebp
mov ebp, dword [esp + 0x28]
or esi, ebp
add eax, eax
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
cmp eax, 0x20
jbe 0x40fc3a
test edx, edx
je 0x40fc9b
mov eax, 0x19
mov ebp, edx
xor edx, edx
div ebp
imul eax, ebp
cmp eax, 0x20
sbb edx, edx
mov dword [esp + 0x30], edx
mov ecx, eax
mov edx, 1
shl edx, cl
mov ebp, dword [esp + 0x30]
and edx, ebp
dec edx
and esi, edx
mov ecx, dword [esp + 0x90]
mov ebp, dword [esp + 0x78]
jmp 0x40fb42
call fcn.0042f1d0
mov ebp, dword [esp]
shl ebp, 8
movzx ecx, byte [esi]
or ebp, ecx
nop
add eax, 8
dec esi
mov ecx, dword [esp + 0x90]
mov dword [esp], ebp
mov ebp, dword [esp + 0x78]
cmp eax, edx
jb 0x40fca0
mov esi, dword [esp]
jmp 0x40fafb
lea ebx, [ecx + 7]
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov esi, edx
mov edx, dword [esp + 0x70]
cmp ebx, 0x20
sbb edx, edx
movzx ebp, byte [esi]
mov dword [esp + 0x30], ebp
nop
and ebp, 0x7f
mov ecx, ebx
shl ebp, cl
and edx, ebp
or edi, edx
lea edx, [esi + 1]
mov ebp, dword [esp + 0x30]
test ebp, 0x80
jne 0x40fcca
mov ecx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x24]
mov esi, edx
mov edx, dword [esp + 0x70]
jmp 0x40f785
inc edx
inc esi
mov dword [esp + 0x14], edx
mov ecx, ebx
mov edx, dword [esp + 0x70]
mov ebx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
cmp edx, edi
jae 0x40fd93
mov dword [esp + 0x6c], ecx
movzx ebx, byte [esi]
mov ecx, eax
shl ebx, cl
or ebp, ebx
nop
mov ebx, dword [esp + 0x90]
cmp ebx, 1
jne 0x40fd56
mov ebx, dword [esp + 0x6c]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
nop
shr ebp, 8
inc ebx
jmp 0x40fd15
mov dword [esp + 0x2c], ebp
and ebp, 0xf
or ebp, 0xf0
mov edi, dword [esp + 0x6c]
xchg ebp, eax
mov byte [edi], al
xchg ebp, eax
mov ebp, dword [esp + 0x2c]
shr ebp, 4
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [edi + 1], al
xchg ebp, eax
nop
mov ebp, dword [esp + 0x2c]
shr ebp, 8
add edi, 2
mov ebx, edi
mov edi, dword [esp + 8]
jmp 0x40fd15
and ebx, 7
test ebx, ebx
jbe 0x40fdab
movzx edx, byte [esi]
mov edi, ecx
mov ecx, eax
shl edx, cl
or ebp, edx
nop
add eax, ebx
inc esi
jmp 0x40fdad
mov edi, ecx
mov edx, esi
mov ebx, dword [esp + 0x70]
mov ecx, edi
jmp 0x40f714
mov edx, ebp
and ebp, 0xf
or ebp, 0xf0
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
add eax, 0xfffffffc
nop
shr edx, 4
inc ebx
mov ebp, edx
test eax, eax
ja 0x40fdba
mov dword [esp + 0x94], ecx
sub esp, 0xffffff80
ret
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
add eax, 0xfffffff8
nop
shr ebp, 8
inc ebx
test eax, eax
ja 0x40fde2
jmp 0x40fdd7
call fcn.00455030
jmp fcn.0040f6e0