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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101d4dec
mov eax, dword fs:[0]
push eax
sub esp, 0x40
mov eax, dword [0x1021b380]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x44], 0
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
cmp byte [eax + 7], 0
je 0x1004715f
cmp dword [eax + 0x14c], 0
je 0x1004715f
mov ecx, dword [esi + 0x54]
test ecx, ecx
je 0x1004715f
mov eax, dword [ecx]
call dword [eax]
test eax, eax
je 0x1004715f
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x18]
mov ebx, eax
mov dword [ebp - 0x48], ebx
test ebx, ebx
je 0x1004715f
mov esi, dword [esi + 0x88]
mov dword [ebp - 0x40], esi
test esi, esi
je 0x1004715f
mov edx, dword [ebx + 8]
lea ecx, [ebx + 8]
call dword [edx + 8]
mov edi, eax
test edi, edi
je 0x1004715f
lea eax, [ebp - 0x28]
mov ecx, 0x102a21f8
push eax
call fcn.1003f620
mov dword [ebp - 4], 0
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
cmova eax, dword [ebp - 0x28]
push eax
lea eax, [esi + 4]
push eax
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov esi, eax
call fcn.10029c20
mov eax, dword [edi + 0x14]
test esi, esi
je 0x1004638c
cmp eax, 0x2a
jne 0x1004525a
mov ecx, dword [0x107001f0]
add ecx, 0xd5bd03c9
xor ecx, 0xde9a561b
mov edx, dword [ecx + 0x14c]
mov dword [ebp - 0x40], edx
test edx, edx
je 0x10045184
mov ecx, dword [ecx + 0x19c]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x10045184
cmp ebx, edx
je 0x10045184
mov ecx, dword [0x102b704c]
test cl, 1
jne 0x100450ea
or ecx, 1
mov dword [0x102b704c], ecx
mov dword [ebp - 4], 1
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10045014
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x10045009
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10044fe3
xor edx, edx
test ecx, ecx
je 0x10045009
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10044ff0
cmp esi, 0x1eee87cc
je 0x10045030
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10044fd0
xor eax, eax
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x102b704c]
mov dword [0x102b7004], eax
jmp 0x100450ef
mov eax, dword [ebp - 0x30]
xor esi, esi
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x38], esi
cmp dword [eax + 4], esi
jle 0x100450d8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045081
cmp dword [ecx + 4], 0
jle 0x10045081
push 0
mov edx, 0xa5bfefb3
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1004507e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x30]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10045090
xor edx, edx
test ecx, ecx
je 0x100450bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100450a0
cmp edi, 0xa5bfefb3
je 0x100450df
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x2c]
add ecx, 0x3c
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10045050
mov eax, esi
jmp 0x10045016
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x2c]
jmp 0x10045016
mov eax, dword [0x102b7004]
mov edx, dword [eax + ebx]
mov dword [ebp - 0x3c], edx
test cl, 1
jne 0x10045178
or ecx, 1
mov dword [0x102b704c], ecx
mov dword [ebp - 4], 2
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10045164
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045159
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10045130
xor edx, edx
test ecx, ecx
je 0x10045159
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045140
cmp esi, 0x1eee87cc
je 0x100451a2
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045118
xor eax, eax
mov edx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x48]
mov dword [0x102b7004], eax
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x40]
cmp edx, dword [esi + eax]
je 0x1004525a
push 1
push 0
push 0x1029cadc
movss xmm3, dword [0x1020785c]
mov ecx, dword [ebp - 0x4c]
call fcn.10044560
jmp 0x10047161
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045248
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop dword [eax + eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100451f1
cmp dword [ecx + 4], 0
jle 0x100451f1
push 0
mov edx, 0xa5bfefb3
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x100451ee
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10045200
xor edx, edx
test ecx, ecx
je 0x1004522c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045210
cmp edi, 0xa5bfefb3
je 0x1004524f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x100451c0
mov eax, esi
jmp 0x10045166
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
jmp 0x10045166
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x278]
call eax
test al, al
je 0x1004715f
mov eax, dword [0x102b5764]
test al, 1
jne 0x100453c2
or eax, 1
mov dword [0x102b5764], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x100452e4
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100452d9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x100452b0
xor edx, edx
test ecx, ecx
je 0x100452d9
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100452c0
cmp esi, 0x4e9f1122
je 0x100452fa
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045298
mov ebx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x102b5768], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100453c7
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045398
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045344
cmp dword [ecx + 4], 0
jle 0x10045344
push 0
mov edx, 0x1c93bcf0
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10045341
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10045350
xor edx, edx
test ecx, ecx
je 0x1004537c
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045360
cmp esi, 0x1c93bcf0
je 0x100453ab
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045313
mov ebx, dword [ebp - 0x48]
mov eax, esi
mov dword [0x102b5768], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100453c7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x48]
mov dword [0x102b5768], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100453c7
mov eax, dword [0x102b5768]
mov eax, dword [eax + ebx]
mov dword [ebp - 0x40], eax
mov eax, dword [0x102b707c]
test al, 1
jne 0x10045522
or eax, 1
mov dword [0x102b707c], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10045444
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045439
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10045410
xor edx, edx
test ecx, ecx
je 0x10045439
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045420
cmp esi, 0x72e242a1
je 0x1004545a
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x100453f7
mov ebx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x102b703c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045527
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x100454f8
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100454a4
cmp dword [ecx + 4], 0
jle 0x100454a4
push 0
mov edx, 0x84cdad2
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x100454a1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100454b0
xor edx, edx
test ecx, ecx
je 0x100454dc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100454c0
cmp edi, 0x84cdad2
je 0x1004550b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045473
mov ebx, dword [ebp - 0x48]
mov eax, esi
mov dword [0x102b703c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045527
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x48]
mov dword [0x102b703c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045527
mov eax, dword [0x102b703c]
cmp dword [ebp - 0x40], 2
je 0x1004715f
cmp dword [eax + ebx], 0
jle 0x1004715f
mov eax, dword [0x102b88e8]
test al, 1
jne 0x1004567e
or eax, 1
mov dword [0x102b88e8], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x100455a9
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1004559e
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10045578
xor edx, edx
test ecx, ecx
je 0x1004559e
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045585
cmp esi, 0x72e242a1
je 0x100455bf
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045565
mov ebx, dword [ebp - 0x48]
xor eax, eax
mov dword [0x102b88e4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045683
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045654
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045609
cmp dword [ecx + 4], 0
jle 0x10045609
push 0
mov edx, 0x9c15080d
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10045606
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10045612
xor edx, edx
test ecx, ecx
je 0x1004563c
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045620
cmp edi, 0x9c15080d
je 0x10045667
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x100455d8
mov ebx, dword [ebp - 0x48]
mov eax, esi
mov dword [0x102b88e4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045683
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x48]
mov dword [0x102b88e4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045683
mov eax, dword [0x102b88e4]
cmp byte [eax + ebx], 0
jne 0x1004715f
mov eax, dword [ebx + 8]
lea ecx, [ebx + 8]
mov eax, dword [eax + 0x24]
call eax
test al, al
jne 0x1004715f
mov ecx, dword [0x107001f0]
add ecx, 0xd5bd03c9
xor ecx, 0xde9a561b
mov eax, dword [ecx + 0x14c]
mov dword [ebp - 0x3c], eax
cmp ebx, eax
jne 0x10045a12
mov eax, dword [ecx + 0xf0]
cmp byte [eax + 0xa9], 0
je 0x1004715f
movss xmm0, dword [0x1020785c]
mov eax, dword [0x102b57c8]
movss dword [ebp - 0x48], xmm0
test al, 1
jne 0x1004582c
or eax, 1
mov dword [0x102b57c8], eax
mov dword [ebp - 4], 6
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10045754
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045749
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10045723
xor edx, edx
test ecx, ecx
je 0x10045749
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045730
cmp esi, 0x72e242a1
je 0x10045767
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045710
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7068], eax
jmp 0x10045831
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045808
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100457b1
cmp dword [ecx + 4], 0
jle 0x100457b1
push 0
mov edx, 0xf3e9a9ed
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x100457ae
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100457c0
xor edx, edx
test ecx, ecx
je 0x100457ec
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100457d0
cmp esi, 0xf3e9a9ed
je 0x10045818
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045780
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7068], eax
jmp 0x10045831
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [0x102b7068], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10045831
mov eax, dword [0x102b7068]
mov ecx, dword [ebp - 0x3c]
cmp byte [ecx + eax], 0
jne 0x100459c1
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x150]
mov dword [ebp - 0x40], eax
test eax, eax
je 0x100459ce
mov eax, dword [0x102b57a8]
test al, 1
jne 0x100459ac
or eax, 1
mov dword [0x102b57a8], eax
mov dword [ebp - 4], 7
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x100458d4
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100458c9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x100458a0
xor edx, edx
test ecx, ecx
je 0x100458c9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100458b0
cmp esi, 0xcd2ed041
je 0x100458e7
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045888
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x100459b1
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045988
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045931
cmp dword [ecx + 4], 0
jle 0x10045931
push 0
mov edx, 0xa2ccb41a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1004592e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10045940
xor edx, edx
test ecx, ecx
je 0x1004596c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045950
cmp esi, 0xa2ccb41a
je 0x10045998
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045900
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x100459b1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100459b1
mov eax, dword [0x102b7084]
mov ecx, dword [ebp - 0x40]
movzx eax, word [ecx + eax]
add eax, 0xffffffd5
cmp ax, 5
ja 0x100459ce
movss xmm0, dword [0x102077ec]
movss dword [ebp - 0x48], xmm0
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0xfc]
xor eax, eax
test ecx, ecx
push ecx
cmovne eax, ecx
movss dword [esp], xmm0
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
call eax
movss xmm3, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
push 0
push 0
push 0x1029cb8c
call fcn.10044560
jmp 0x10047161
test eax, eax
je 0x10045c18
mov ecx, dword [ecx + 0x19c]
mov eax, dword [ecx + 0x1c]
cmp dword [eax + 0x30], ecx
jne 0x10045c18
mov ecx, dword [0x102b704c]
test cl, 1
jne 0x10045b7a
or ecx, 1
mov dword [0x102b704c], ecx
mov dword [ebp - 4], 8
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10045aa4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045a99
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10045a73
xor edx, edx
test ecx, ecx
je 0x10045a99
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045a80
cmp esi, 0x1eee87cc
je 0x10045ac0
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045a60
xor eax, eax
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x102b704c]
mov dword [0x102b7004], eax
jmp 0x10045b7f
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045b68
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045b11
cmp dword [ecx + 4], 0
jle 0x10045b11
push 0
mov edx, 0xa5bfefb3
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10045b0e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10045b20
xor edx, edx
test ecx, ecx
je 0x10045b4c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045b30
cmp edi, 0xa5bfefb3
je 0x10045b6f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045ae0
mov eax, esi
jmp 0x10045aa6
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
jmp 0x10045aa6
mov eax, dword [0x102b7004]
mov edx, dword [eax + ebx]
mov dword [ebp - 0x40], edx
test cl, 1
jne 0x10045c0c
or ecx, 1
mov dword [0x102b704c], ecx
mov dword [ebp - 4], 9
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10045bf8
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045bed
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10045bc3
xor edx, edx
test ecx, ecx
je 0x10045bed
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045bd0
cmp esi, 0x1eee87cc
je 0x10045cc0
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045bb0
xor eax, eax
mov ebx, dword [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x40]
mov dword [0x102b7004], eax
mov ecx, dword [ebp - 0x3c]
cmp edx, dword [ecx + eax]
je 0x1004715f
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x14c]
mov dword [ebp - 0x38], ecx
cmp ecx, ebx
je 0x1004715f
mov eax, dword [0x102b5764]
test al, 1
jne 0x10045e42
or eax, 1
mov dword [0x102b5764], eax
mov dword [ebp - 4], 0xa
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10045caa
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045c9f
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10045c75
xor edx, edx
test ecx, ecx
je 0x10045c9f
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045c82
cmp esi, 0x4e9f1122
je 0x10045d7a
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045c62
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10045e47
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x34], esi
cmp dword [eax + 4], esi
jle 0x10045d68
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045d11
cmp dword [ecx + 4], 0
jle 0x10045d11
push 0
mov edx, 0xa5bfefb3
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10045d0e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10045d20
xor edx, edx
test ecx, ecx
je 0x10045d4c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045d30
cmp edi, 0xa5bfefb3
je 0x10045d6f
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10045ce0
mov eax, esi
jmp 0x10045bfa
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
jmp 0x10045bfa
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10045e18
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045dc4
cmp dword [ecx + 4], 0
jle 0x10045dc4
push 0
mov edx, 0x1c93bcf0
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10045dc1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10045dd0
xor edx, edx
test ecx, ecx
je 0x10045dfc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045de0
cmp edi, 0x1c93bcf0
je 0x10045e2b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10045d93
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10045e47
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10045e47
mov eax, dword [0x102b5768]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x102b707c]
test al, 1
jne 0x10045fa2
or eax, 1
mov dword [0x102b707c], eax
mov dword [ebp - 4], 0xb
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10045ec4
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10045eb9
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10045e90
xor edx, edx
test ecx, ecx
je 0x10045eb9
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10045ea0
cmp esi, 0x72e242a1
je 0x10045eda
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10045e77
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10045fa7
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10045f78
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10045f24
cmp dword [ecx + 4], 0
jle 0x10045f24
push 0
mov edx, 0x84cdad2
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10045f21
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10045f30
xor edx, edx
test ecx, ecx
je 0x10045f5c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10045f40
cmp edi, 0x84cdad2
je 0x10045f8b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10045ef3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10045fa7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10045fa7
mov eax, dword [0x102b703c]
cmp dword [ebp - 0x40], 2
je 0x10046345
cmp dword [ecx + eax], 0
jle 0x10046345
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
cmp byte [eax + 5], 0
jne 0x10046345
cmp byte [0x1029c97c], 0
je 0x10046345
mov ecx, dword [ebp - 0x48]
mov esi, dword [0x10700094]
add esi, 0xc37ae81e
xor esi, 0xd6ff0c58
mov eax, dword [ecx + 8]
add ecx, 8
call dword [eax + 0x28]
imul edi, eax, 0x394
add edi, esi
je 0x10046345
mov edx, dword [edi + 0x390]
test edx, edx
je 0x10046345
cmp byte [0x1029d170], 0
je 0x100460c1
mov esi, 1
cmp edx, esi
jb 0x10046345
nop word [eax + eax]
mov ecx, dword [edi + 0x38c]
mov eax, dword [edi + 0x388]
dec ecx
dec eax
add ecx, esi
and ecx, eax
mov eax, dword [edi + 0x384]
mov ebx, dword [eax + ecx*4]
test ebx, ebx
je 0x100460b1
cmp byte [ebx + 8], 0
je 0x100460b1
movd xmm0, edx
xorps xmm1, xmm1
cvtdq2pd xmm0, xmm0
shr edx, 0x1f
push 1
movd xmm2, esi
addsd xmm0, qword [edx*8 + 0x102082c0]
cvtdq2ps xmm2, xmm2
cvtpd2ps xmm0, xmm0
divss xmm2, xmm0
movss xmm0, dword [0x1020785c]
call fcn.1003a1e0
mov ecx, dword [ebp - 0x4c]
lea eax, [ebx + 0xa380]
push eax
push 0x1029c97c
movaps xmm3, xmm0
call fcn.10044560
mov edx, dword [edi + 0x390]
inc esi
cmp esi, edx
jbe 0x10046040
jmp 0x10046345
mov ecx, dword [edi + 0x38c]
mov eax, dword [edi + 0x380]
mov byte [ebp - 0x40], 0
push dword [ebp - 0x40]
sub esp, 0xc
mov edx, esp
sub esp, 0xc
mov dword [edx + 8], ecx
mov dword [edx + 4], 0
mov dword [edx], eax
mov edx, esp
mov ecx, dword [edi + 0x390]
add ecx, dword [edi + 0x38c]
mov eax, dword [edi + 0x380]
mov dword [edx + 8], ecx
lea ecx, [ebp - 0x1c]
mov dword [edx + 4], 0
mov dword [edx], eax
call fcn.100494f0
mov eax, dword [ebp - 0x14]
add esp, 0x1c
cmp eax, dword [edi + 0x38c]
je 0x10046345
lea edx, [eax - 1]
mov eax, dword [ebp - 0x1c]
test eax, eax
je 0x10046130
mov eax, dword [eax]
jmp 0x10046132
xor eax, eax
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
dec ecx
and ecx, edx
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0x40], ebx
test ebx, ebx
je 0x10046345
mov eax, dword [0x102b7018]
mov dword [ebp - 0x44], 0x3f800000
mov dword [ebp - 0x38], 0
test al, 1
jne 0x10046288
or eax, 1
mov dword [0x102b7018], eax
mov dword [ebp - 4], 0xc
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x100461c5
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x100461ba
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10046194
xor edx, edx
test ecx, ecx
je 0x100461ba
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100461a1
cmp esi, 0x1eee87cc
je 0x100461dc
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10046181
xor esi, esi
mov dword [ebp - 4], 0xffffffff
mov ebx, dword [ebp - 0x40]
mov dword [0x102b705c], esi
jmp 0x1004628e
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x100461c7
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046222
cmp dword [ecx + 4], 0
jle 0x10046222
push 0
mov edx, 0x559d81af
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1004621f
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046230
xor edx, edx
test ecx, ecx
je 0x1004625c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046240
cmp edi, 0x559d81af
je 0x1004627d
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jge 0x100461c7
jmp 0x100461f1
mov esi, dword [ebx + 0x2c]
add esi, dword [ebp - 0x30]
jmp 0x100461c7
mov esi, dword [0x102b705c]
mov edi, dword [ebp - 0x48]
movss xmm1, dword [0x102078a8]
movss xmm0, dword [esi + edi + 4]
subss xmm0, dword [ebx + 0x88]
call fcn.1002d520
movss xmm1, dword [0x102078a8]
movss dword [ebp - 0x2c], xmm0
movss xmm0, dword [esi + edi]
subss xmm0, dword [ebx + 0x84]
call fcn.1002d520
movss xmm1, dword [ebp - 0x2c]
addss xmm1, xmm0
movss xmm0, dword [esi + edi + 8]
subss xmm0, dword [ebx + 0x8c]
movss dword [ebp - 0x2c], xmm1
movss xmm1, dword [0x102078a8]
call fcn.1002d520
addss xmm0, dword [ebp - 0x2c]
call fcn.1000d600
mulss xmm0, dword [0x1020773c]
lea ecx, [ebp - 0x40]
lea eax, [ebp - 0x38]
xorps xmm1, xmm1
push 1
comiss xmm0, xmm1
movss xmm1, dword [0x1020785c]
movss dword [ebp - 0x40], xmm0
cmovae eax, ecx
lea ecx, [ebp - 0x44]
comiss xmm1, xmm0
cmovae ecx, eax
lea eax, [ebx + 0xa380]
push eax
push 0x1029c97c
movss xmm3, dword [ecx]
mov ecx, dword [ebp - 0x4c]
call fcn.10044560
movss xmm3, dword [0x1020785c]
mov ecx, dword [ebp - 0x4c]
push 1
push 0
push 0x1029c8cc
call fcn.10044560
movss xmm3, dword [0x1020785c]
mov bl, al
mov ecx, dword [ebp - 0x4c]
push 0
push 0
push 0x1029c81c
call fcn.10044560
test al, al
jne 0x10046385
test bl, bl
je 0x1004715f
mov al, 1
jmp 0x10047161
cmp eax, 0x8c
jne 0x10046681
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x102b5764]
mov dword [ebp - 0x38], ecx
test al, 1
jne 0x10046502
or eax, 1
mov dword [0x102b5764], eax
mov dword [ebp - 4], 0xd
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10046424
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046419
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x100463f3
xor edx, edx
test ecx, ecx
je 0x10046419
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046400
cmp esi, 0x4e9f1122
je 0x1004643a
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x100463e0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10046507
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x100464d8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046484
cmp dword [ecx + 4], 0
jle 0x10046484
push 0
mov edx, 0x1c93bcf0
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10046481
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046490
xor edx, edx
test ecx, ecx
je 0x100464bc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100464a0
cmp edi, 0x1c93bcf0
je 0x100464eb
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046453
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10046507
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10046507
mov eax, dword [0x102b5768]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x44], eax
mov eax, dword [0x102b707c]
test al, 1
jne 0x10046662
or eax, 1
mov dword [0x102b707c], eax
mov dword [ebp - 4], 0xe
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10046584
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046579
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046550
xor edx, edx
test ecx, ecx
je 0x10046579
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046560
cmp edi, 0x72e242a1
je 0x1004659a
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10046537
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10046667
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046638
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100465e4
cmp dword [ecx + 4], 0
jle 0x100465e4
push 0
mov edx, 0x84cdad2
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x100465e1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100465f0
xor edx, edx
test ecx, ecx
je 0x1004661c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046600
cmp edi, 0x84cdad2
je 0x1004664b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x100465b3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10046667
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10046667
mov eax, dword [0x102b703c]
cmp dword [ebp - 0x44], 2
je 0x10046681
cmp dword [ecx + eax], 0
jle 0x10046681
push 0
push 0
push 0x1029ccec
jmp 0x1004518d
lea eax, [ebp - 0x28]
mov ecx, 0x102a2a50
push eax
call fcn.1003f7e0
mov dword [ebp - 4], 0xf
lea eax, [ebp - 0x28]
cmp dword [ebp - 0x14], 0xf
mov dword [ebp - 0x44], 7
cmova eax, dword [ebp - 0x28]
push eax
mov eax, dword [ebp - 0x40]
add eax, 4
push eax
call dword [sym.imp.VCRUNTIME140.dll_strstr]
add esp, 8
test eax, eax
je 0x10046979
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x102b5764]
mov dword [ebp - 0x38], ecx
test al, 1
jne 0x10046814
or eax, 1
mov dword [0x102b5764], eax
mov dword [ebp - 4], 0x10
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10046747
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x1004673c
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10046716
xor edx, edx
test ecx, ecx
je 0x1004673c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046723
cmp esi, 0x4e9f1122
je 0x10046756
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10046703
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov dword [0x102b5768], eax
jmp 0x10046819
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x100467f8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
nop
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100467a1
cmp dword [ecx + 4], 0
jle 0x100467a1
push 0
mov edx, 0x1c93bcf0
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1004679e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100467b0
xor edx, edx
test ecx, ecx
je 0x100467dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100467c0
cmp edi, 0x1c93bcf0
je 0x10046804
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046770
mov ecx, dword [ebp - 0x38]
mov eax, esi
mov dword [0x102b5768], eax
jmp 0x10046819
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10046819
mov eax, dword [0x102b5768]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x40], eax
mov eax, dword [0x102b707c]
test al, 1
jne 0x10046964
or eax, 1
mov dword [0x102b707c], eax
mov dword [ebp - 4], 0x11
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10046894
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046889
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10046863
xor edx, edx
test ecx, ecx
je 0x10046889
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046870
cmp esi, 0x72e242a1
je 0x100468a3
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10046850
mov ecx, dword [ebp - 0x38]
xor eax, eax
mov dword [0x102b703c], eax
jmp 0x10046969
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046948
xor ecx, ecx
mov dword [ebp - 0x34], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100468f1
cmp dword [ecx + 4], 0
jle 0x100468f1
push 0
mov edx, 0x84cdad2
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x100468ee
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10046900
xor edx, edx
test ecx, ecx
je 0x1004692c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046910
cmp edi, 0x84cdad2
je 0x10046954
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x100468c0
mov ecx, dword [ebp - 0x38]
mov eax, esi
mov dword [0x102b703c], eax
jmp 0x10046969
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10046969
mov eax, dword [0x102b703c]
cmp dword [ebp - 0x40], 2
je 0x10046979
cmp dword [ecx + eax], 0
jle 0x10046979
mov bl, 1
jmp 0x1004697b
xor bl, bl
lea ecx, [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
call fcn.10029c20
test bl, bl
je 0x1004699c
push 0
push 0
push 0x1029cc3c
jmp 0x1004518d
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0x14c]
mov eax, dword [0x102b5764]
mov dword [ebp - 0x38], ecx
test al, 1
jne 0x10046b02
or eax, 1
mov dword [0x102b5764], eax
mov dword [ebp - 4], 0x12
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10046a24
nop
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046a19
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x100469f3
xor edx, edx
test ecx, ecx
je 0x10046a19
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046a00
cmp esi, 0x4e9f1122
je 0x10046a3a
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x100469e0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10046b07
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046ad8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046a84
cmp dword [ecx + 4], 0
jle 0x10046a84
push 0
mov edx, 0x1c93bcf0
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10046a81
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046a90
xor edx, edx
test ecx, ecx
je 0x10046abc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046aa0
cmp edi, 0x1c93bcf0
je 0x10046aeb
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046a53
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10046b07
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b5768], eax
jmp 0x10046b07
mov eax, dword [0x102b5768]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x44], eax
mov eax, dword [0x102b707c]
test al, 1
jne 0x10046c62
or eax, 1
mov dword [0x102b707c], eax
mov dword [ebp - 4], 0x13
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10046b84
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046b79
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10046b50
xor edx, edx
test ecx, ecx
je 0x10046b79
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046b60
cmp esi, 0x72e242a1
je 0x10046b9a
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10046b37
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10046c67
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046c38
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046be4
cmp dword [ecx + 4], 0
jle 0x10046be4
push 0
mov edx, 0x84cdad2
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10046be1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046bf0
xor edx, edx
test ecx, ecx
je 0x10046c1c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046c00
cmp edi, 0x84cdad2
je 0x10046c4b
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046bb3
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10046c67
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x38]
mov dword [0x102b703c], eax
jmp 0x10046c67
mov eax, dword [0x102b703c]
cmp dword [ebp - 0x44], 2
je 0x1004715f
cmp dword [ecx + eax], 0
jle 0x1004715f
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x44], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x40], eax
mov eax, dword [0x102ba118]
test al, 1
jne 0x10046ddc
or eax, 1
mov dword [0x102ba118], eax
mov dword [ebp - 4], 0x14
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10046d09
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046cfe
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10046cd8
xor edx, edx
test ecx, ecx
je 0x10046cfe
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046ce5
cmp esi, 0x1eee87cc
je 0x10046d1c
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10046cc5
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba104], eax
jmp 0x10046de1
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046db8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046d66
cmp dword [ecx + 4], 0
jle 0x10046d66
push 0
mov edx, 0x6bf5c5fc
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10046d63
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [esi + ecx], 0
jne 0x10046d70
xor edx, edx
test ecx, ecx
je 0x10046d9c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10046d80
cmp edi, 0x6bf5c5fc
je 0x10046dc8
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046d35
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102ba104], eax
jmp 0x10046de1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [0x102ba104], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10046de1
mov eax, dword [0x102ba104]
mov ecx, dword [ebp - 0x48]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x44]
call dword [ebp - 0x40]
mov ecx, dword [0x107001f0]
add ecx, 0xd5bd03c9
xor ecx, 0xde9a561b
mov edx, dword [ecx + 0x14c]
mov dword [ebp - 0x44], edx
cmp eax, edx
jne 0x1004715f
mov eax, dword [ecx + 0xf0]
cmp byte [eax + 0xa9], 0
je 0x1004715f
movd xmm0, dword [0x1029d1ac]
mov eax, dword [0x102b57c8]
cvtdq2ps xmm0, xmm0
mulss xmm0, dword [0x10207724]
movss dword [ebp - 0x38], xmm0
test al, 1
jne 0x10046f7e
or eax, 1
mov dword [0x102b57c8], eax
mov dword [ebp - 4], 0x15
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10046ea9
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10046e9e
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10046e78
xor edx, edx
test ecx, ecx
je 0x10046e9e
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046e85
cmp esi, 0x72e242a1
je 0x10046ebf
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10046e65
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [0x102b7068], eax
jmp 0x10046f83
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x10046f54
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10046f09
cmp dword [ecx + 4], 0
jle 0x10046f09
push 0
mov edx, 0xf3e9a9ed
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x10046f06
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x10046f12
xor edx, edx
test ecx, ecx
je 0x10046f3c
nop
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10046f20
cmp esi, 0xf3e9a9ed
je 0x10046f67
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10046ed8
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [0x102b7068], eax
jmp 0x10046f83
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x44]
mov dword [0x102b7068], eax
jmp 0x10046f83
mov eax, dword [0x102b7068]
cmp byte [edx + eax], 0
jne 0x10047111
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov eax, dword [eax + 0x150]
mov dword [ebp - 0x44], eax
test eax, eax
je 0x1004711e
mov eax, dword [0x102b57a8]
test al, 1
jne 0x100470fc
or eax, 1
mov dword [0x102b57a8], eax
mov dword [ebp - 4], 0x16
mov ebx, dword [0x102b3e88]
cmp ebx, dword [0x102b3e8c]
je 0x10047024
mov eax, dword [ebx]
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x10047019
mov edi, dword [eax + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10046ff0
xor edx, edx
test ecx, ecx
je 0x10047019
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10047000
cmp esi, 0xcd2ed041
je 0x10047037
add ebx, 4
cmp ebx, dword [0x102b3e8c]
jne 0x10046fd7
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x10047101
mov eax, dword [ebp - 0x2c]
xor esi, esi
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x3c], esi
cmp dword [eax + 4], esi
jle 0x100470d8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10047081
cmp dword [ecx + 4], 0
jle 0x10047081
push 0
mov edx, 0xa2ccb41a
call fcn.1012aec0
add esp, 4
test eax, eax
je 0x1004707e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x30], esi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebx]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [edi + ecx], 0
jne 0x10047090
xor edx, edx
test ecx, ecx
je 0x100470bc
nop dword [eax]
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x100470a0
cmp esi, 0xa2ccb41a
je 0x100470e8
mov eax, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x34]
inc edx
mov esi, dword [ebp - 0x30]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10047050
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102b7084], eax
jmp 0x10047101
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x30]
mov dword [0x102b7084], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10047101
mov eax, dword [0x102b7084]
mov ecx, dword [ebp - 0x44]
movzx eax, word [ecx + eax]
add eax, 0xffffffd5
cmp ax, 5
ja 0x1004711e
mulss xmm0, dword [0x102077ec]
movss dword [ebp - 0x38], xmm0
mov eax, dword [0x107001f0]
add eax, 0xd5bd03c9
xor eax, 0xde9a561b
mov ecx, dword [eax + 0xfc]
xor eax, eax
test ecx, ecx
push ecx
cmovne eax, ecx
movss dword [esp], xmm0
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
call eax
movss xmm3, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x4c]
push 0
push 0
push 0x1029cd9c
call fcn.10044560
jmp 0x10047161
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.101d03f8
mov esp, ebp
pop ebp
ret