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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10274d83
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x48
push esi
push edi
mov eax, dword [0x103230ac]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x24], ecx
mov edi, dword [ebx + 8]
mov eax, dword [edi + 0x187c]
cmp eax, dword [edi + 0x1880]
je 0x10155b8c
cmp byte [edi + 1], 0
je 0x10155b8c
cmp dword [edi + 0x1850], 0
je 0x10155b8c
mov eax, dword [0x103c3ba8]
mov esi, dword [edi + 8]
mov dword [ebp - 0x1c], esi
test al, 1
jne 0x1015439d
or eax, 1
mov dword [0x103c3ba8], eax
mov dword [ebp - 4], 0
mov eax, dword [0x103bf630]
mov dword [ebp - 0x20], eax
cmp eax, dword [0x103bf634]
je 0x101542ca
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x101542bc
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10154293
xor edx, edx
test ecx, ecx
je 0x101542bc
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101542a0
cmp esi, 0x1eee87cc
je 0x101542e3
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [0x103bf634]
jne 0x10154280
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebx + 8]
mov dword [0x103c3bec], eax
jmp 0x101543a2
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x20], edi
cmp dword [eax + 4], edi
jle 0x10154388
xor ecx, ecx
mov dword [ebp - 0x28], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10154334
cmp dword [ecx + 4], 0
jle 0x10154334
push 0
mov edx, 0x559d81af
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10154331
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x14]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10154340
xor edx, edx
test ecx, ecx
je 0x1015436c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10154350
cmp esi, 0x559d81af
je 0x1015438f
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x10154300
mov eax, edi
jmp 0x101542cc
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x101542cc
mov eax, dword [0x103c3bec]
movq xmm0, qword [eax + esi]
mov ecx, esi
movq qword [edi + 0x10], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0x18], eax
mov eax, dword [esi]
mov eax, dword [eax + 0x28]
call eax
movq xmm0, qword [eax]
movq qword [edi + 0x1c], xmm0
mov eax, dword [eax + 8]
mov dword [edi + 0x24], eax
mov eax, dword [0x103c22c8]
test al, 1
jne 0x1015451d
or eax, 1
mov dword [0x103c22c8], eax
mov dword [ebp - 4], 1
mov eax, dword [0x103bf630]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
je 0x1015444a
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1015443c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10154410
xor edx, edx
test ecx, ecx
je 0x1015443c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10154420
cmp esi, 0x72e242a1
je 0x10154463
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
jne 0x101543f7
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebx + 8]
mov dword [0x103c2360], eax
jmp 0x10154522
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10154508
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101544b4
cmp dword [ecx + 4], 0
jle 0x101544b4
push 0
mov edx, 0xf3c2c786
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101544b1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101544c0
xor edx, edx
test ecx, ecx
je 0x101544ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101544d0
cmp edi, 0xf3c2c786
je 0x1015450f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10154480
mov eax, edi
jmp 0x1015444c
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x1015444c
mov eax, dword [0x103c2360]
movq xmm0, qword [eax + esi]
movq qword [edi + 0x28], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0x30], eax
mov eax, dword [0x103c2300]
test al, 1
jne 0x1015467d
or eax, 1
mov dword [0x103c2300], eax
mov dword [ebp - 4], 2
mov eax, dword [0x103bf630]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
je 0x101545aa
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1015459c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10154573
xor edx, edx
test ecx, ecx
je 0x1015459c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10154580
cmp esi, 0x1eee87cc
je 0x101545c3
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
jne 0x10154560
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebx + 8]
mov dword [0x103c2318], eax
jmp 0x10154682
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10154668
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10154614
cmp dword [ecx + 4], 0
jle 0x10154614
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10154611
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154620
xor edx, edx
test ecx, ecx
je 0x1015464c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154630
cmp edi, 0xe57f80c
je 0x1015466f
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x101545e0
mov eax, edi
jmp 0x101545ac
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x101545ac
mov eax, dword [0x103c2318]
movq xmm0, qword [eax + esi]
movq qword [edi + 0x34], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0x3c], eax
mov eax, dword [0x103c3b74]
test al, 1
jne 0x101547dd
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 3
mov eax, dword [0x103bf630]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
je 0x1015470a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x101546fc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101546d3
xor edx, edx
test ecx, ecx
je 0x101546fc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101546e0
cmp edi, 0x1eee87cc
je 0x10154723
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
jne 0x101546c0
xor eax, eax
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebx + 8]
mov dword [0x103c2338], eax
jmp 0x101547e2
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x101547c8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10154774
cmp dword [ecx + 4], 0
jle 0x10154774
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10154771
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154780
xor edx, edx
test ecx, ecx
je 0x101547ac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154790
cmp edi, 0x7d388d3e
je 0x101547cf
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10154740
mov eax, edi
jmp 0x1015470c
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x1015470c
mov eax, dword [0x103c2338]
movq xmm0, qword [eax + esi]
movq qword [edi + 0x40], xmm0
mov eax, dword [eax + esi + 8]
mov dword [edi + 0x48], eax
add edi, 0x50
mov eax, dword [esi + 0x2920]
mov esi, dword [esi + 0x2914]
lea ecx, [eax + eax*2]
mov eax, 0xd3b0
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 8]
mov ecx, 0xa390
mov edi, dword [esi + 0x1850]
mov dword [ebp - 0x2c], edi
cmp byte [edi + 0xc], 0
cmove eax, ecx
mov ecx, dword [esi + 8]
mov esi, dword [0x10842cb8]
add eax, edi
mov dword [ebp - 0x14], ecx
add esi, 0x772b78e1
add ecx, 8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x48], eax
xor esi, 0xa30d42b2
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
imul eax, eax, 0x394
add eax, esi
je 0x10154f47
cmp byte [edi + 0xc], 0
mov eax, 0xd390
mov ecx, 0x94
cmove eax, ecx
movss xmm0, dword [eax + edi + 8]
movss xmm2, dword [eax + edi]
movss xmm1, dword [eax + edi + 4]
movss dword [ebp - 0x50], xmm0
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103c3ba8]
unpcklps xmm2, xmm1
movq qword [ebp - 0x58], xmm2
test al, 1
jne 0x101549f5
or eax, 1
mov dword [0x103c3ba8], eax
mov dword [ebp - 4], 4
mov eax, dword [0x103bf630]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
je 0x1015490a
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x101548fc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x101548d3
xor edx, edx
test ecx, ecx
je 0x101548fc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101548e0
cmp edi, 0x1eee87cc
je 0x10154920
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
jne 0x101548c0
mov edi, dword [ebp - 0x2c]
xor eax, eax
mov dword [0x103c3bec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101549fa
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x101549c8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10154974
cmp dword [ecx + 4], 0
jle 0x10154974
push 0
mov edx, 0x559d81af
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10154971
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154980
xor edx, edx
test ecx, ecx
je 0x101549ac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154990
cmp edi, 0x559d81af
je 0x101549db
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10154940
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x2c]
mov dword [0x103c3bec], eax
jmp 0x101549fa
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x2c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x103c3bec], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x101549fa
mov eax, dword [0x103c3bec]
mov esi, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
movq qword [esi + eax], xmm2
mov dword [esi + eax + 8], ecx
lea ecx, [ebp - 0x58]
mov eax, dword [0x1040e4ac]
push ecx
mov ecx, esi
call eax
mov eax, dword [edi + 0xcc]
movq xmm0, qword [edi + 0xc4]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103c3b74]
test al, 1
jne 0x10154b6d
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 5
mov eax, dword [0x103bf630]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
je 0x10154a9d
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10154a8f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154a66
xor edx, edx
test ecx, ecx
je 0x10154a8f
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154a73
cmp edi, 0x1eee87cc
je 0x10154ab6
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103bf634]
jne 0x10154a53
xor eax, eax
mov edi, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x14]
mov dword [0x103c2338], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10154b72
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x10154b58
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10154b04
cmp dword [ecx + 4], 0
jle 0x10154b04
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10154b01
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154b10
xor edx, edx
test ecx, ecx
je 0x10154b3c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154b20
cmp edi, 0x7d388d3e
je 0x10154b5f
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10154ad0
mov eax, edi
jmp 0x10154a9f
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x10154a9f
mov eax, dword [0x103c2338]
mov ecx, dword [ebp - 0x38]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
mov eax, dword [edi + 0xc0]
movq xmm0, qword [edi + 0xb8]
mov dword [ebp - 0x38], eax
mov eax, dword [0x103c2300]
test al, 1
jne 0x10154cf5
or eax, 1
mov dword [0x103c2300], eax
mov dword [ebp - 4], 6
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103bf634]
je 0x10154c0a
nop dword [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10154bfc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154bd3
xor edx, edx
test ecx, ecx
je 0x10154bfc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154be0
cmp edi, 0x1eee87cc
je 0x10154c20
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103bf634]
jne 0x10154bc0
mov esi, dword [ebp - 0x14]
xor eax, eax
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10154cfa
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10154cc8
xor ecx, ecx
mov dword [ebp - 0x28], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10154c74
cmp dword [ecx + 4], 0
jle 0x10154c74
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10154c71
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154c80
xor edx, edx
test ecx, ecx
je 0x10154cac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154c90
cmp edi, 0xe57f80c
je 0x10154cdb
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x10154c40
mov esi, dword [ebp - 0x14]
mov eax, edi
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10154cfa
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10154cfa
mov eax, dword [0x103c2318]
mov edx, dword [0x103c2354]
mov ecx, dword [ebp - 0x38]
movq qword [esi + eax], xmm0
mov dword [esi + eax + 8], ecx
test dl, 1
jne 0x10154e4b
or edx, 1
mov dword [0x103c2354], edx
mov dword [ebp - 4], 7
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103bf634]
je 0x10154d7f
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10154d71
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154d48
xor edx, edx
test ecx, ecx
je 0x10154d71
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154d55
cmp edi, 0x54aff69
je 0x10154d9f
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103bf634]
jne 0x10154d35
xor ecx, ecx
mov esi, dword [ebp - 0x14]
add ecx, 0x1c
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x103c2354]
mov dword [0x103c22cc], ecx
jmp 0x10154e51
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10154e36
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10154dec
cmp dword [ecx + 4], 0
jle 0x10154dec
push 0
mov edx, 0xddac019e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10154de9
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154df5
xor edx, edx
test ecx, ecx
je 0x10154e1e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154e02
cmp edi, 0xddac019e
je 0x10154e3d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x10154db8
mov ecx, edi
jmp 0x10154d81
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x10154d81
mov ecx, dword [0x103c22cc]
lea eax, [esi + ecx]
test eax, eax
je 0x10154e87
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x1040e3cc]
test eax, eax
je 0x10154e72
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [esi + 0x2690], eax
mov dword [esi + 0x2924], 0xff7fffff
test dl, 1
jne 0x10154f13
or edx, 1
mov dword [0x103c2354], edx
mov dword [ebp - 4], 8
mov eax, dword [0x103bf630]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103bf634]
je 0x10154efe
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10154ef0
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10154ec3
xor edx, edx
test ecx, ecx
je 0x10154ef0
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10154ed0
cmp esi, 0x54aff69
je 0x10154f8b
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103bf634]
jne 0x10154eb0
xor ecx, ecx
mov esi, dword [ebp - 0x14]
add ecx, 0x1c
mov dword [0x103c22cc], ecx
mov dword [ebp - 4], 0xffffffff
lea edx, [esi + ecx]
test edx, edx
je 0x10154f47
mov eax, dword [esi + 0x2920]
mov edi, dword [esi + 0x2914]
mov esi, dword [ebp - 0x30]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x14]
mov edi, dword [edx]
mov esi, dword [ebp - 0x30]
mov eax, dword [ecx + 0x2920]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov esi, dword [ebx + 8]
xor ecx, ecx
mov eax, dword [esi + 0x187c]
mov edx, dword [esi + 0x1880]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x4c], edx
cmp eax, edx
je 0x1015538d
mov eax, dword [esi + 8]
inc ecx
cmp byte [0x103aa678], 0
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x28], eax
je 0x10155039
mov eax, dword [edx + 0x65920]
jmp 0x1015503f
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x10155024
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x3c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10154fd8
cmp dword [ecx + 4], 0
jle 0x10154fd8
push 0
mov edx, 0xddac019e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10154fd5
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10154fe1
xor edx, edx
test ecx, ecx
je 0x1015500c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10154ff0
cmp edi, 0xddac019e
je 0x1015502b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x10154fa4
mov ecx, edi
jmp 0x10154f00
mov eax, dword [ebp - 0x3c]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x10154f00
mov eax, dword [edx + 0x6591c]
mov ecx, dword [0x103c3c0c]
mov dword [ebp - 0x20], eax
test cl, 1
jne 0x1015518d
or ecx, 1
mov dword [0x103c3c0c], ecx
mov dword [ebp - 4], 9
mov eax, dword [0x103bf630]
mov dword [ebp - 0x14], eax
cmp eax, dword [0x103bf634]
je 0x101550bb
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x101550ad
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10155084
xor edx, edx
test ecx, ecx
je 0x101550ad
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10155091
cmp edi, 0x72e242a1
je 0x101550d4
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x14], eax
cmp eax, dword [0x103bf634]
jne 0x10155071
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [0x103c3c0c]
mov dword [0x103c3bcc], eax
jmp 0x10155192
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10155178
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10155124
cmp dword [ecx + 4], 0
jle 0x10155124
push 0
mov edx, 0x84cdad2
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10155121
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10155130
xor edx, edx
test ecx, ecx
je 0x1015515c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10155140
cmp edi, 0x84cdad2
je 0x1015517f
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x101550f0
mov eax, edi
jmp 0x101550bd
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x101550bd
mov eax, dword [0x103c3bcc]
mov edx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x20]
mov edx, dword [edx + eax]
mov dword [ebp - 0x40], edx
cmp esi, 0x63
jle 0x101551ad
add esi, 0xffffff9c
add esi, edx
jmp 0x1015524b
test cl, 1
jne 0x10155242
or ecx, 1
mov dword [0x103c3c0c], ecx
mov dword [ebp - 4], 0xa
mov eax, dword [0x103bf630]
mov dword [ebp - 0x14], eax
cmp eax, dword [0x103bf634]
je 0x1015522e
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10155220
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x101551f0
xor edx, edx
test ecx, ecx
je 0x10155220
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10155200
cmp edi, 0x72e242a1
je 0x101552b3
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x14], eax
cmp eax, dword [0x103bf634]
jne 0x101551d6
xor eax, eax
mov esi, dword [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x40]
mov dword [0x103c3bcc], eax
mov ecx, dword [ebp - 0x28]
cmp esi, dword [ecx + eax]
cmovg esi, edx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebx + 8]
add eax, 0x24
mov edx, dword [0x1040dff4]
add ecx, 0x1850
mov dword [ebp - 0x30], esi
add edx, 0x2943d092
mov esi, dword [ebp - 0x38]
xor edx, 0x8cf66feb
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x40], esi
lea eax, [esi + 3]
push eax
lea eax, [ebp - 0x48]
push eax
push ecx
lea eax, [ebp - 0x40]
push eax
lea eax, [ebx + 8]
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x30]
push eax
push ecx
mov ecx, edx
call fcn.10166c30
add esi, 0x24
mov dword [ebp - 0x38], esi
cmp esi, dword [ebp - 0x4c]
je 0x1015536d
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebx + 8]
jmp 0x10154f66
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x10155358
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x14], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10155304
cmp dword [ecx + 4], 0
jle 0x10155304
push 0
mov edx, 0x84cdad2
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10155301
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10155310
xor edx, edx
test ecx, ecx
je 0x1015533c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10155320
cmp edi, 0x84cdad2
je 0x1015535f
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jl 0x101552d0
mov eax, edi
jmp 0x10155230
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x10155230
cmp dword [ebp - 0x3c], 0
jle 0x1015538a
mov ecx, dword [0x1040dff4]
add ecx, 0x2943d092
xor ecx, 0x8cf66feb
call fcn.1000ed20
mov esi, dword [ebx + 8]
mov eax, dword [esi + 0x18]
mov edi, dword [esi + 8]
movq xmm0, qword [esi + 0x10]
mov dword [ebp - 0x48], eax
mov eax, dword [0x103c3ba8]
mov dword [ebp - 0x14], edi
test al, 1
jne 0x101554ed
or eax, 1
mov dword [0x103c3ba8], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x103bf630]
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
je 0x1015541a
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1015540c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [edi + ecx], 0
jne 0x101553e3
xor edx, edx
test ecx, ecx
je 0x1015540c
movsx eax, byte [edi + edx]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101553f0
cmp esi, 0x1eee87cc
je 0x10155433
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
jne 0x101553d0
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebx + 8]
mov dword [0x103c3bec], eax
jmp 0x101554f2
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], edi
cmp dword [eax + 4], edi
jle 0x101554d8
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10155484
cmp dword [ecx + 4], 0
jle 0x10155484
push 0
mov edx, 0x559d81af
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10155481
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10155490
xor edx, edx
test ecx, ecx
je 0x101554bc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x101554a0
cmp edi, 0x559d81af
je 0x101554df
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10155450
mov eax, edi
jmp 0x1015541c
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1015541c
mov eax, dword [0x103c3bec]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
lea eax, [esi + 0x1c]
mov edx, dword [0x1040e4ac]
mov ecx, edi
push eax
call edx
mov eax, dword [esi + 0x30]
movq xmm0, qword [esi + 0x28]
mov dword [ebp - 0x48], eax
mov eax, dword [0x103c22c8]
test al, 1
jne 0x1015565d
or eax, 1
mov dword [0x103c22c8], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x103bf630]
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
je 0x1015558d
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1015557f
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10155556
xor edx, edx
test ecx, ecx
je 0x1015557f
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10155563
cmp esi, 0x72e242a1
je 0x101555a6
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
jne 0x10155543
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebx + 8]
mov dword [0x103c2360], eax
jmp 0x10155662
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], edi
cmp dword [eax + 4], edi
jle 0x10155648
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101555f4
cmp dword [ecx + 4], 0
jle 0x101555f4
push 0
mov edx, 0xf3c2c786
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101555f1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x10155600
xor edx, edx
test ecx, ecx
je 0x1015562c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10155610
cmp esi, 0xf3c2c786
je 0x1015564f
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x101555c0
mov eax, edi
jmp 0x1015558f
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1015558f
mov eax, dword [0x103c2360]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0x48]
movq xmm0, qword [esi + 0x40]
mov dword [ebp - 0x48], eax
mov eax, dword [0x103c3b74]
test al, 1
jne 0x101557bd
or eax, 1
mov dword [0x103c3b74], eax
mov dword [ebp - 4], 0xd
mov eax, dword [0x103bf630]
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
je 0x101556ef
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x101556e1
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x101556b8
xor edx, edx
test ecx, ecx
je 0x101556e1
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101556c5
cmp esi, 0x1eee87cc
je 0x10155708
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
jne 0x101556a5
xor eax, eax
mov edi, dword [ebp - 0x14]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebx + 8]
mov dword [0x103c2338], eax
jmp 0x101557c2
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], edi
cmp dword [eax + 4], edi
jle 0x101557a8
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10155755
cmp dword [ecx + 4], 0
jle 0x10155755
push 0
mov edx, 0x7d388d3e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10155752
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop
inc ecx
cmp byte [ecx + edi], 0
jne 0x10155760
xor edx, edx
test ecx, ecx
je 0x1015578c
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10155770
cmp esi, 0x7d388d3e
je 0x101557af
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10155721
mov eax, edi
jmp 0x101556f1
mov eax, dword [ebp - 0x4c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x101556f1
mov eax, dword [0x103c2338]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
mov eax, dword [esi + 0x3c]
movq xmm0, qword [esi + 0x34]
mov dword [ebp - 0x48], eax
mov eax, dword [0x103c2300]
test al, 1
jne 0x10155935
or eax, 1
mov dword [0x103c2300], eax
mov dword [ebp - 4], 0xe
mov eax, dword [0x103bf630]
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
je 0x1015584f
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10155841
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10155818
xor edx, edx
test ecx, ecx
je 0x10155841
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10155825
cmp esi, 0x1eee87cc
je 0x10155865
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
jne 0x10155805
mov edi, dword [ebp - 0x14]
xor eax, eax
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015593a
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], edi
cmp dword [eax + 4], edi
jle 0x10155908
xor ecx, ecx
mov dword [ebp - 0x38], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x101558b4
cmp dword [ecx + 4], 0
jle 0x101558b4
push 0
mov edx, 0xe57f80c
call fcn.1013c990
add esp, 4
test eax, eax
je 0x101558b1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
nop dword [eax]
inc ecx
cmp byte [ecx + edi], 0
jne 0x101558c0
xor edx, edx
test ecx, ecx
je 0x101558ec
nop dword [eax]
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x101558d0
cmp esi, 0xe57f80c
je 0x1015591b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jl 0x10155880
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov edi, dword [ebp - 0x14]
mov dword [0x103c2318], eax
jmp 0x1015593a
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x14]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x103c2318], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1015593a
mov eax, dword [0x103c2318]
mov edx, dword [0x103c2354]
mov ecx, dword [ebp - 0x48]
movq qword [edi + eax], xmm0
mov dword [edi + eax + 8], ecx
test dl, 1
jne 0x10155a8b
or edx, 1
mov dword [0x103c2354], edx
mov dword [ebp - 4], 0xf
mov eax, dword [0x103bf630]
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
je 0x101559bf
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x101559b1
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10155988
xor edx, edx
test ecx, ecx
je 0x101559b1
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10155995
cmp esi, 0x54aff69
je 0x101559df
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
jne 0x10155975
xor edi, edi
lea ecx, [edi + 0x1c]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x103c2354]
mov edi, dword [ebp - 0x14]
mov dword [0x103c22cc], ecx
jmp 0x10155a91
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], edi
cmp dword [eax + 4], edi
jle 0x101559c1
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10155a28
cmp dword [ecx + 4], 0
jle 0x10155a28
push 0
mov edx, 0xddac019e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10155a25
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10155a31
xor edx, edx
test ecx, ecx
je 0x10155a5c
nop
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10155a40
cmp esi, 0xddac019e
je 0x10155a7d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jge 0x101559c1
jmp 0x101559f4
mov eax, dword [ebp - 0x4c]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18]
jmp 0x101559c1
mov ecx, dword [0x103c22cc]
lea eax, [edi + ecx]
test eax, eax
je 0x10155ac7
mov dword [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [0x1040e3cc]
test eax, eax
je 0x10155ab2
add eax, 0xa
mov eax, dword [eax]
mov eax, dword [eax]
dec eax
mov dword [edi + 0x2690], eax
mov dword [edi + 0x2924], 0xff7fffff
mov esi, dword [ebx + 8]
add esi, 0x50
mov dword [ebp - 0x30], esi
test dl, 1
jne 0x10155b5b
or edx, 1
mov dword [0x103c2354], edx
mov dword [ebp - 4], 0x10
mov eax, dword [0x103bf630]
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
je 0x10155b4a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x10155b3c
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x10155b13
xor edx, edx
test ecx, ecx
je 0x10155b3c
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10155b20
cmp esi, 0x54aff69
je 0x10155ba2
mov eax, dword [ebp - 0x3c]
add eax, 4
mov dword [ebp - 0x3c], eax
cmp eax, dword [0x103bf634]
jne 0x10155b00
xor edi, edi
mov esi, dword [ebp - 0x30]
lea ecx, [edi + 0x1c]
mov edi, dword [ebp - 0x14]
mov dword [0x103c22cc], ecx
lea edx, [edi + ecx]
test edx, edx
je 0x10155b8c
mov eax, dword [edi + 0x2920]
mov edi, dword [edi + 0x2914]
lea ecx, [eax + eax*2]
mov eax, dword [ebp - 0x14]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov eax, dword [eax + 0x2920]
mov edi, dword [edx]
mov esi, dword [ebp - 0x30]
lea ecx, [eax + eax*2]
shl ecx, 4
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 4
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x3c], edi
cmp dword [eax + 4], edi
jle 0x10155b4c
xor ecx, ecx
mov dword [ebp - 0x38], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x4c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10155beb
cmp dword [ecx + 4], 0
jle 0x10155beb
push 0
mov edx, 0xddac019e
call fcn.1013c990
add esp, 4
test eax, eax
je 0x10155be8
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x18], edi
mov eax, dword [ebp - 0x1c]
mov edi, dword [esi]
xor ecx, ecx
mov esi, 0x811c9dc5
inc ecx
cmp byte [ecx + edi], 0
jne 0x10155bf4
xor edx, edx
test ecx, ecx
je 0x10155c1d
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x10155c01
cmp esi, 0xddac019e
je 0x10155c3e
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], ecx
cmp edx, dword [eax + 4]
jge 0x10155b4c
jmp 0x10155bb7
mov eax, dword [ebp - 0x4c]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x18]
jmp 0x10155b4c