Function at 0x1008e690
Capabilities:
Encode data using xor
Hash data using fnv

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102242ef
mov eax, dword fs:[0]
push eax
sub esp, 0x2c
push ebx
push esi
push edi
mov eax, dword [0x102d2084]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20], ecx
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cmp dword [eax + 0x134], 0
je 0x1009020f
mov ecx, dword [eax + 0x138]
mov dword [ebp - 0x34], ecx
test ecx, ecx
je 0x1009020f
cmp dword [eax + 0x13c], 0
je 0x1009020f
movd xmm0, dword [0x10355cb8]
mov edx, dword [0x1036f6d0]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x102ba9c0]
movss dword [ebp - 0x30], xmm0
test dl, 1
jne 0x1008e846
or edx, 1
mov dword [0x1036f6d0], edx
mov dword [ebp - 4], 0
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008e784
nop word [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1008e779
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008e753
xor edx, edx
test ecx, ecx
je 0x1008e779
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008e760
cmp edi, 0xcd2ed041
je 0x1008e79e
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008e740
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x1036f6d0]
mov dword [0x10370fb4], ecx
jmp 0x1008e84c
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], esi
cmp dword [eax + 4], esi
jle 0x1008e834
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008e7e8
cmp dword [ecx + 4], 0
jle 0x1008e7e8
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008e7e5
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008e7f1
xor edx, edx
test ecx, ecx
je 0x1008e81c
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008e800
cmp esi, 0xa2ccb41a
je 0x1008e83b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x1008e7b7
mov ecx, esi
jmp 0x1008e786
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x1008e786
mov ecx, dword [0x10370fb4]
mov eax, dword [ebp - 0x34]
movzx eax, word [ecx + eax]
cwde
add eax, 0xfffffff7
cmp eax, 0x1f
ja case.0x1008e867.10
movzx eax, byte [eax + 0x100902e4]
jmp dword [eax*4 + 0x100902dc]
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x34], eax
test dl, 1
jne 0x1008e910
or edx, 1
mov dword [0x1036f6d0], edx
mov dword [ebp - 4], 1
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008e8f8
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1008e8ed
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008e8c3
xor edx, edx
test ecx, ecx
je 0x1008e8ed
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008e8d0
cmp edi, 0xcd2ed041
je 0x1008ea6b
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008e8b0
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x1036f6d0]
mov dword [0x10370fb4], ecx
cmp word [eax + ecx], 0x27
je case.0x1008e867.10
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x34], eax
test dl, 1
jne 0x1008e9ba
or edx, 1
mov dword [0x1036f6d0], edx
mov dword [ebp - 4], 2
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008e9a8
nop word [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1008e99d
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008e973
xor edx, edx
test ecx, ecx
je 0x1008e99d
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008e980
cmp esi, 0xcd2ed041
je 0x1008eb16
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008e960
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov dword [0x10370fb4], ecx
mov dword [ebp - 4], 0xffffffff
cmp word [eax + ecx], 8
mov byte [ebp - 0xd], 0
jne 0x1008e9c9
mov byte [ebp - 0xd], 1
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x138]
mov dword [ebp - 0x34], eax
mov eax, dword [0x10374420]
test al, 1
jne 0x1008ec8c
or eax, 1
mov dword [0x10374420], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008ea58
nop dword [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1008ea4d
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008ea23
xor edx, edx
test ecx, ecx
je 0x1008ea4d
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ea30
cmp esi, 0xea7e6f79
je 0x1008ebca
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008ea10
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1037441c], eax
jmp 0x1008ec91
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], esi
cmp dword [eax + 4], esi
jle 0x1008eb04
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008eab5
cmp dword [ecx + 4], 0
jle 0x1008eab5
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008eab2
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008eac0
xor edx, edx
test ecx, ecx
je 0x1008eaec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ead0
cmp edi, 0xa2ccb41a
je 0x1008eb0b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x1008ea84
mov ecx, esi
jmp 0x1008e8fa
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x1008e8fa
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], esi
cmp dword [eax + 4], esi
jle 0x1008ebb8
xor ecx, ecx
mov dword [ebp - 0x28], ecx
nop
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008eb61
cmp dword [ecx + 4], 0
jle 0x1008eb61
push 0
mov edx, 0xa2ccb41a
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008eb5e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008eb70
xor edx, edx
test ecx, ecx
je 0x1008eb9c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008eb80
cmp edi, 0xa2ccb41a
je 0x1008ebbf
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x1008eb30
mov ecx, esi
jmp 0x1008e9aa
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x1008e9aa
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x2c], esi
cmp dword [eax + 4], esi
jle 0x1008ec68
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008ec14
cmp dword [ecx + 4], 0
jle 0x1008ec14
push 0
mov edx, 0x444e63a0
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008ec11
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ec20
xor edx, edx
test ecx, ecx
je 0x1008ec4c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ec30
cmp edi, 0x444e63a0
je 0x1008ec78
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x1008ebe3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1037441c], eax
jmp 0x1008ec91
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x1037441c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008ec91
mov eax, dword [0x1037441c]
mov ecx, dword [ebp - 0x34]
mov edx, dword [eax + ecx]
mov dword [ebp - 0x1c], edx
cmp edx, 1
jle 0x1008ecb1
cmp byte [0x10355cd3], 0
mov eax, 1
cmovne edx, eax
mov dword [ebp - 0x1c], edx
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
push edx
mov ecx, dword [eax + 0x138]
xor eax, eax
test ecx, ecx
cmovne eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x724]
call eax
add eax, dword [0x10355cb8]
movss xmm2, dword [ebp - 0x30]
movd xmm0, dword [0x10355cc0]
movaps xmm1, xmm2
movss xmm4, dword [0x102ba7b4]
mov ecx, dword [0x103740a4]
movd xmm3, eax
cvttss2si eax, xmm2
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x2c], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cvtdq2ps xmm3, xmm3
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x34], eax
mulss xmm0, dword [0x102ba670]
subss xmm1, xmm3
subss xmm4, xmm0
mulss xmm4, xmm1
test cl, 1
jne 0x1008ee68
or ecx, 1
mov dword [0x103740a4], ecx
mov dword [ebp - 4], 4
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008eda4
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1008ed99
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ed73
xor edx, edx
test ecx, ecx
je 0x1008ed99
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ed80
cmp edi, 0x72e242a1
je 0x1008edbb
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008ed60
xor esi, esi
mov eax, dword [ebp - 0x34]
mov dword [0x1037411c], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x1008ee6e
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x1008eda6
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008ee01
cmp dword [ecx + 4], 0
jle 0x1008ee01
push 0
mov edx, 0x3c965687
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008edfe
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ee10
xor edx, edx
test ecx, ecx
je 0x1008ee3c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ee20
cmp edi, 0x3c965687
je 0x1008ee5d
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jge 0x1008eda6
jmp 0x1008edd0
mov esi, dword [ebx + 0x2c]
add esi, dword [ebp - 0x14]
jmp 0x1008eda6
mov esi, dword [0x1037411c]
cvttss2si ecx, xmm2
mov dword [ebp - 0x14], esi
mov dword [eax + esi], ecx
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x34], eax
mov eax, dword [0x10374110]
test al, 1
jne 0x1008efe2
or eax, 1
mov dword [0x10374110], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008ef04
nop word [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1008eef9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008eed3
xor edx, edx
test ecx, ecx
je 0x1008eef9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008eee0
cmp edi, 0x72e242a1
je 0x1008ef1a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008eec0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x18], eax
mov dword [0x103740bc], eax
jmp 0x1008efea
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x1008efb8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008ef64
cmp dword [ecx + 4], 0
jle 0x1008ef64
push 0
mov edx, 0x612a684d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008ef61
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ef70
xor edx, edx
test ecx, ecx
je 0x1008ef9c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ef80
cmp edi, 0x612a684d
je 0x1008efcb
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1008ef33
mov eax, esi
mov dword [ebp - 0x18], esi
mov dword [0x103740bc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008efea
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x24]
mov dword [ebp - 0x18], eax
mov dword [0x103740bc], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008efea
mov eax, dword [0x103740bc]
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x34]
cvttss2si edx, xmm2
mov dword [ecx + eax], edx
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103740a8]
test al, 1
jne 0x1008f162
or eax, 1
mov dword [0x103740a8], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008f084
mov eax, dword [ebx]
mov dword [ebp - 0x24], eax
test eax, eax
je 0x1008f079
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f050
xor edx, edx
test ecx, ecx
je 0x1008f079
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f060
cmp edi, 0x72e242a1
je 0x1008f09a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008f036
mov edx, dword [ebp - 0x2c]
xor eax, eax
mov dword [0x1037433c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008f167
mov eax, dword [ebp - 0x24]
xor esi, esi
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x30], esi
cmp dword [eax + 4], esi
jle 0x1008f138
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008f0e4
cmp dword [ecx + 4], 0
jle 0x1008f0e4
push 0
mov edx, 0x3633810
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008f0e1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x28], esi
mov eax, dword [ebp - 0x24]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f0f0
xor edx, edx
test ecx, ecx
je 0x1008f11c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f100
cmp edi, 0x3633810
je 0x1008f14b
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x28]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x1008f0b3
mov edx, dword [ebp - 0x2c]
mov eax, esi
mov dword [0x1037433c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008f167
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x2c]
mov dword [0x1037433c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008f167
mov eax, dword [0x1037433c]
cmp byte [ebp - 0xd], 0
mov ecx, dword [ebp - 0x38]
mov dword [ecx + eax], edx
jne 0x10090205
mov eax, dword [0x10bbb620]
addss xmm4, xmm3
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
mov eax, dword [0x1036f6f0]
test al, 1
jne 0x1008f2dc
or eax, 1
mov dword [0x1036f6f0], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008f204
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008f1f9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f1d3
xor edx, edx
test ecx, ecx
je 0x1008f1f9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f1e0
cmp edi, 0x72e242a1
je 0x1008f217
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008f1c0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370f98], eax
jmp 0x1008f2e1
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008f2b8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008f261
cmp dword [ecx + 4], 0
jle 0x1008f261
push 0
mov edx, 0xf3e9a9ed
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008f25e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f270
xor edx, edx
test ecx, ecx
je 0x1008f29c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f280
cmp edi, 0xf3e9a9ed
je 0x1008f2c8
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1008f230
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10370f98], eax
jmp 0x1008f2e1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x24]
mov dword [0x10370f98], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1008f2e1
mov eax, dword [0x10370f98]
mov ecx, dword [ebp - 0x38]
cmp byte [ecx + eax], 0
je 0x1008fa5e
mov ebx, dword [ebp - 0x1c]
cmp ebx, 1
jle 0x1008f466
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
mov eax, dword [0x10374110]
test al, 1
jne 0x1008f448
or eax, 1
mov dword [0x10374110], eax
mov dword [ebp - 4], 8
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008f384
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008f379
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f353
xor edx, edx
test ecx, ecx
je 0x1008f379
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f360
cmp edi, 0x72e242a1
je 0x1008f39b
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008f340
xor esi, esi
mov ebx, dword [ebp - 0x1c]
mov dword [0x103740bc], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x1008f44b
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008f386
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008f3e1
cmp dword [ecx + 4], 0
jle 0x1008f3e1
push 0
mov edx, 0x612a684d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008f3de
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f3f0
xor edx, edx
test ecx, ecx
je 0x1008f41c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f400
cmp edi, 0x612a684d
je 0x1008f43d
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jge 0x1008f386
jmp 0x1008f3b0
mov esi, dword [ebx + 0x2c]
add esi, dword [ebp - 0x24]
jmp 0x1008f386
mov esi, dword [ebp - 0x18]
lea eax, [ebx - 1]
mov ecx, dword [ebp - 0x38]
movd xmm0, eax
movaps xmm1, xmm4
cvtdq2ps xmm0, xmm0
divss xmm1, xmm0
cvttss2si eax, xmm1
mov dword [ecx + esi], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103740a4]
test al, 1
jne 0x1008f5b6
or eax, 1
mov dword [0x103740a4], eax
mov dword [ebp - 4], 9
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008f4f4
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008f4e9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f4c0
xor edx, edx
test ecx, ecx
je 0x1008f4e9
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f4d0
cmp edi, 0x72e242a1
je 0x1008f50b
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008f4a8
xor edx, edx
mov ebx, dword [ebp - 0x1c]
mov dword [0x1037411c], edx
mov dword [ebp - 4], 0xffffffff
jmp 0x1008f5b9
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008f5a4
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008f555
cmp dword [ecx + 4], 0
jle 0x1008f555
push 0
mov edx, 0x3c965687
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008f552
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f560
xor edx, edx
test ecx, ecx
je 0x1008f58c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f570
cmp edi, 0x3c965687
je 0x1008f5ab
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1008f524
mov edx, esi
jmp 0x1008f4f6
mov edx, dword [ebx + 0x2c]
add edx, dword [ebp - 0x24]
jmp 0x1008f4f6
mov edx, dword [ebp - 0x14]
movd xmm0, ebx
cvtdq2ps xmm0, xmm0
mov ecx, dword [ebp - 0x38]
divss xmm4, xmm0
cvttss2si eax, xmm4
mov dword [ecx + edx], eax
mov eax, dword [0x10bbb620]
mov ecx, dword [0x103740a4]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
test cl, 1
jne 0x1008f670
or ecx, 1
mov dword [0x103740a4], ecx
mov dword [ebp - 4], 0xa
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008f65b
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008f650
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008f626
xor edx, edx
test ecx, ecx
je 0x1008f650
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f633
cmp esi, 0x72e242a1
je 0x1008f73b
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008f613
xor edx, edx
mov eax, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x1c]
mov dword [0x1037411c], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
mov eax, dword [eax + edx]
mov dword [ecx + 4], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
cmp byte [0x10355cd3], 0
je 0x1008f8bb
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
mov eax, dword [0x10374330]
test al, 1
jne 0x1008f89a
or eax, 1
mov dword [0x10374330], eax
mov dword [ebp - 4], 0xb
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008f718
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008f70d
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008f6e0
xor edx, edx
test ecx, ecx
je 0x1008f70d
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f6f0
cmp esi, 0x4e9f1122
je 0x1008f7e6
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008f6c8
xor eax, eax
mov ecx, dword [ebp - 0x38]
mov dword [0x10374114], eax
mov dword [ecx + eax], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008f7d4
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008f785
cmp dword [ecx + 4], 0
jle 0x1008f785
push 0
mov edx, 0x3c965687
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008f782
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f790
xor edx, edx
test ecx, ecx
je 0x1008f7bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f7a0
cmp edi, 0x3c965687
je 0x1008f7db
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1008f754
mov edx, esi
jmp 0x1008f65d
mov edx, dword [ebx + 0x2c]
add edx, dword [ebp - 0x24]
jmp 0x1008f65d
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008f888
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008f831
cmp dword [ecx + 4], 0
jle 0x1008f831
push 0
mov edx, 0xa334f8ac
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008f82e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f840
xor edx, edx
test ecx, ecx
je 0x1008f86c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f850
cmp edi, 0xa334f8ac
je 0x1008f88f
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1008f800
mov eax, esi
jmp 0x1008f71a
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x24]
jmp 0x1008f71a
mov eax, dword [0x10374114]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + eax], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [eax + 0x138]
xor eax, eax
test ecx, ecx
push ebx
cmovne eax, ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x728]
mov dword [ebp - 0x38], eax
call dword [ebp - 0x38]
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
fstp dword [ebp - 0x38]
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x10374330]
test al, 1
jne 0x1008fa3a
or eax, 1
mov dword [0x10374330], eax
mov dword [ebp - 4], 0xc
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008f964
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008f959
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008f933
xor edx, edx
test ecx, ecx
je 0x1008f959
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f940
cmp esi, 0x4e9f1122
je 0x1008f98a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008f920
xor eax, eax
mov ecx, dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x38]
mov dword [0x10374114], eax
movss dword [eax + ecx], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008fa28
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008f9d4
cmp dword [ecx + 4], 0
jle 0x1008f9d4
push 0
mov edx, 0xa334f8ac
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008f9d1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008f9e0
xor edx, edx
test ecx, ecx
je 0x1008fa0c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008f9f0
cmp edi, 0xa334f8ac
je 0x1008fa2f
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1008f9a3
mov eax, esi
jmp 0x1008f966
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x24]
jmp 0x1008f966
mov eax, dword [0x10374114]
mov ecx, dword [ebp - 0x2c]
movss xmm0, dword [ebp - 0x38]
movss dword [eax + ecx], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x20]
cmp dword [ecx + 4], 0
je 0x1009016b
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov dword [ebp - 0x38], eax
mov ecx, dword [eax + 0x134]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [0x10374110]
test cl, 1
jne 0x1008fb10
or ecx, 1
mov dword [0x10374110], ecx
mov dword [ebp - 4], 0xd
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008fafb
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008faf0
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008fac6
xor edx, edx
test ecx, ecx
je 0x1008faf0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008fad3
cmp edi, 0x72e242a1
je 0x1008fbb2
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008fab3
xor esi, esi
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x18], esi
mov dword [0x103740bc], esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x103740a4]
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
test cl, 1
jne 0x1008fd1d
or ecx, 1
mov dword [0x103740a4], ecx
mov dword [ebp - 4], 0xe
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008fb98
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008fb8d
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008fb60
xor edx, edx
test ecx, ecx
je 0x1008fb8d
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008fb70
cmp edi, 0x72e242a1
je 0x1008fc68
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008fb46
xor ebx, ebx
mov dword [ebp - 0x14], ebx
mov eax, dword [ebp - 0x38]
mov dword [0x1037411c], ebx
mov dword [ebp - 4], 0xffffffff
jmp 0x1008fd20
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008fafd
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop dword [eax + eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008fc01
cmp dword [ecx + 4], 0
jle 0x1008fc01
push 0
mov edx, 0x612a684d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008fbfe
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008fc10
xor edx, edx
test ecx, ecx
je 0x1008fc3c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008fc20
cmp edi, 0x612a684d
je 0x1008fc5d
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jge 0x1008fafd
jmp 0x1008fbd0
mov esi, dword [ebx + 0x2c]
add esi, dword [ebp - 0x24]
jmp 0x1008fafd
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008fd08
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008fcb2
cmp dword [ecx + 4], 0
jle 0x1008fcb2
push 0
mov edx, 0x3c965687
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008fcaf
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008fcc0
xor edx, edx
test ecx, ecx
je 0x1008fcec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008fcd0
cmp edi, 0x3c965687
je 0x1008fd12
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1008fc81
mov ebx, esi
mov dword [ebp - 0x14], esi
jmp 0x1008fb9d
mov ebx, dword [ebx + 0x2c]
add ebx, dword [ebp - 0x24]
jmp 0x1008fb9a
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov eax, dword [eax + ebx]
cmp eax, dword [edx + ecx]
jne 0x1009016e
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 4]
mov dword [ebp - 0x38], eax
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x20], eax
mov eax, dword [0x10374110]
test al, 1
jne 0x1008fdda
or eax, 1
mov dword [0x10374110], eax
mov dword [ebp - 4], 0xf
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008fdc8
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008fdbd
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008fd93
xor edx, edx
test ecx, ecx
je 0x1008fdbd
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008fda0
cmp edi, 0x72e242a1
je 0x1008ff3d
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008fd80
xor ecx, ecx
mov ebx, dword [ebp - 0x14]
mov dword [0x103740bc], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x38]
mov dword [edx + ecx], eax
mov eax, dword [0x10bbb620]
mov ecx, dword [0x103740a4]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
test cl, 1
jne 0x1008fe8a
or ecx, 1
mov dword [0x103740a4], ecx
mov dword [ebp - 4], 0x10
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008fe78
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008fe6d
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008fe40
xor edx, edx
test ecx, ecx
je 0x1008fe6d
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008fe50
cmp esi, 0x72e242a1
je 0x1008ffe6
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008fe28
xor ebx, ebx
mov eax, dword [ebp - 0x38]
mov dword [0x1037411c], ebx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x2c]
mov dword [eax + ebx], ecx
mov eax, dword [0x10bbb620]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
mov eax, dword [0x10374330]
test al, 1
jne 0x1009014a
or eax, 1
mov dword [0x10374330], eax
mov dword [ebp - 4], 0x11
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x1008ff1a
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1008ff0f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1008fee5
xor edx, edx
test ecx, ecx
je 0x1008ff0f
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1008fef2
cmp esi, 0x4e9f1122
je 0x1009009a
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x1008fed2
xor eax, eax
mov ecx, dword [ebp - 0x38]
mov dword [0x10374114], eax
mov dword [ecx + eax], 0x3d4ccccd
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x1008ffd4
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x1008ff87
cmp dword [ecx + 4], 0
jle 0x1008ff87
push 0
mov edx, 0x612a684d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1008ff84
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1008ff90
xor edx, edx
test ecx, ecx
je 0x1008ffbc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1008ffa0
cmp edi, 0x612a684d
je 0x1008ffdb
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x1008ff56
mov ecx, esi
jmp 0x1008fdca
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x24]
jmp 0x1008fdca
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10090088
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10090031
cmp dword [ecx + 4], 0
jle 0x10090031
push 0
mov edx, 0x3c965687
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1009002e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10090040
xor edx, edx
test ecx, ecx
je 0x1009006c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10090050
cmp edi, 0x3c965687
je 0x1009008f
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10090000
mov ebx, esi
jmp 0x1008fe7a
mov ebx, dword [ebx + 0x2c]
add ebx, dword [ebp - 0x24]
jmp 0x1008fe7a
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10090138
xor ecx, ecx
mov dword [ebp - 0x30], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100900e4
cmp dword [ecx + 4], 0
jle 0x100900e4
push 0
mov edx, 0xa334f8ac
call fcn.10138e60
add esp, 4
test eax, eax
je 0x100900e1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100900f0
xor edx, edx
test ecx, ecx
je 0x1009011c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10090100
cmp edi, 0xa334f8ac
je 0x1009013f
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x100900b3
mov eax, esi
jmp 0x1008ff1c
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x24]
jmp 0x1008ff1c
mov eax, dword [0x10374114]
mov ecx, dword [ebp - 0x38]
mov dword [ecx + eax], 0x3d4ccccd
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x18]
mov eax, dword [0x10bbb620]
mov edx, dword [0x10374110]
add eax, 0x91761abb
xor eax, 0xfd410b50
mov eax, dword [eax + 0x134]
mov dword [ebp - 0x38], eax
test dl, 1
jne 0x100901ff
or edx, 1
mov dword [0x10374110], edx
mov dword [ebp - 4], 0x12
mov ebx, dword [0x1036cbb0]
cmp ebx, dword [0x1036cbb4]
je 0x100901f4
nop
mov eax, dword [ebx]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x100901e9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x100901c3
xor edx, edx
test ecx, ecx
je 0x100901e9
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100901d0
cmp esi, 0x72e242a1
je 0x10090221
add ebx, 4
cmp ebx, dword [0x1036cbb4]
jne 0x100901b0
xor ecx, ecx
mov eax, dword [ebp - 0x38]
mov dword [0x103740bc], ecx
mov edx, dword [ebp - 0x2c]
mov dword [eax + ecx], edx
mov eax, dword [ebp - 0x20]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x24], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x100902c8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
nop word [eax + eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10090271
cmp dword [ecx + 4], 0
jle 0x10090271
push 0
mov edx, 0x612a684d
call fcn.10138e60
add esp, 4
test eax, eax
je 0x1009026e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x24], esi
mov eax, dword [ebp - 0x28]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10090280
xor edx, edx
test ecx, ecx
je 0x100902ac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10090290
cmp edi, 0x612a684d
je 0x100902cf
mov eax, dword [ebp - 0x28]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
inc edx
mov esi, dword [ebp - 0x24]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], ecx
cmp edx, dword [eax + 4]
jl 0x10090240
mov ecx, esi
jmp 0x100901f6
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x24]
jmp 0x100901f6