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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101ce605
mov eax, dword fs:[0]
push eax
sub esp, 0x20
push ebx
push esi
push edi
mov eax, dword [0x1026b040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x14], ecx
cmp dword [ebp + 8], 2
jne 0x100515b6
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
cmp byte [eax + 7], 0
je 0x100515b6
mov ecx, dword [eax + 0x14c]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x100515b6
mov eax, dword [0x10304c84]
test al, 1
jne 0x100500c2
or eax, 1
mov dword [0x10304c84], eax
mov dword [ebp - 4], 0
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x1004ffe4
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp + 8], eax
test eax, eax
je 0x1004ffd9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004ffb3
xor edx, edx
test ecx, ecx
je 0x1004ffd9
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ffc0
cmp edi, 0x4e9f1122
je 0x1004fffa
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x1004ffa0
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov dword [0x10304c88], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100500c7
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x10050098
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10050044
cmp dword [ecx + 4], 0
jle 0x10050044
push 0
mov edx, 0x1c93bcf0
call fcn.10115470
add esp, 4
test eax, eax
je 0x10050041
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp + 8]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050050
xor edx, edx
test ecx, ecx
je 0x1005007c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050060
cmp edi, 0x1c93bcf0
je 0x100500ab
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x10]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x10050013
mov ecx, dword [ebp - 0x18]
mov eax, esi
mov dword [0x10304c88], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100500c7
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [0x10304c88], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100500c7
mov eax, dword [0x10304c88]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x28], eax
mov eax, dword [0x10306544]
test al, 1
jne 0x10050222
or eax, 1
mov dword [0x10306544], eax
mov dword [ebp - 4], 1
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x10050144
mov eax, dword [ebx]
mov dword [ebp + 8], eax
test eax, eax
je 0x10050139
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050110
xor edx, edx
test ecx, ecx
je 0x10050139
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050120
cmp edi, 0x72e242a1
je 0x1005015a
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x100500f7
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov dword [0x1030650c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10050227
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x100501f8
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100501a4
cmp dword [ecx + 4], 0
jle 0x100501a4
push 0
mov edx, 0x84cdad2
call fcn.10115470
add esp, 4
test eax, eax
je 0x100501a1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp + 8]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100501b0
xor edx, edx
test ecx, ecx
je 0x100501dc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100501c0
cmp edi, 0x84cdad2
je 0x1005020b
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x10]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x10050173
mov ecx, dword [ebp - 0x18]
mov eax, esi
mov dword [0x1030650c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10050227
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x18]
mov dword [0x1030650c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10050227
mov eax, dword [0x1030650c]
cmp dword [ebp - 0x28], 2
je 0x100515b6
cmp dword [eax + ecx], 0
jle 0x100515b6
mov ecx, dword [0x10633ee0]
add ecx, 0xfab78433
xor ecx, 0xc85d879a
cmp dword [ecx + 0x150], 0
je 0x100515b6
mov eax, dword [ecx + 0xc8]
mov dword [ebp - 0x24], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + 0x14c]
mov dword [ebp - 0x28], eax
mov eax, dword [0x1030655c]
test al, 1
jne 0x100503bc
or eax, 1
mov dword [0x1030655c], eax
mov dword [ebp - 4], 2
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x100502e4
nop
mov eax, dword [ebx]
mov dword [ebp + 8], eax
test eax, eax
je 0x100502d9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x100502b3
xor edx, edx
test ecx, ecx
je 0x100502d9
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100502c0
cmp edi, 0x4e9f1122
je 0x100502f7
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x100502a0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10304ca0], eax
jmp 0x100503c1
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x10050398
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10050341
cmp dword [ecx + 4], 0
jle 0x10050341
push 0
mov edx, 0xcc0d385b
call fcn.10115470
add esp, 4
test eax, eax
je 0x1005033e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x10], esi
mov eax, dword [ebp + 8]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050350
xor edx, edx
test ecx, ecx
je 0x1005037c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050360
cmp edi, 0xcc0d385b
je 0x100503a8
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x10]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x10050310
mov eax, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10304ca0], eax
jmp 0x100503c1
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x10]
mov dword [0x10304ca0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100503c1
mov eax, dword [0x10304ca0]
mov ecx, dword [ebp - 0x28]
push dword [ecx + eax]
mov ecx, dword [ebp - 0x24]
call dword [ebp - 0x18]
mov dword [ebp + 8], eax
test eax, eax
je 0x100515b6
mov ecx, dword [0x10633ee0]
mov eax, 0x1b4e81b5
add ecx, 0xfab78433
xor ecx, 0xc85d879a
mov ecx, dword [ecx + 0xc0]
mov esi, dword [ecx + 0x4cbc]
mov ecx, esi
imul esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0x96
sub ecx, eax
add ecx, 0x560
imul eax, ecx, 0x2c
add eax, dword [ebp - 0x14]
mov dword [ebp - 0x10], eax
cmp dword [eax + 4], esi
jne 0x100515b6
mov eax, dword [0x103098c4]
test al, 1
jne 0x1005056e
or eax, 1
mov dword [0x103098c4], eax
mov dword [ebp - 4], 3
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x10050497
mov eax, dword [ebx]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1005048c
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050466
xor edx, edx
test ecx, ecx
je 0x1005048c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050473
cmp edi, 0x54aff69
je 0x100504ad
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x10050453
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [ebp - 0x20], eax
mov dword [0x103098c8], eax
jmp 0x10050576
mov eax, dword [ebp - 0x14]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x20], esi
cmp dword [eax + 4], esi
jle 0x10050544
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100504f7
cmp dword [ecx + 4], 0
jle 0x100504f7
push 0
mov edx, 0xc77829f
call fcn.10115470
add esp, 4
test eax, eax
je 0x100504f4
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x14]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050500
xor edx, edx
test ecx, ecx
je 0x1005052c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050510
cmp edi, 0xc77829f
je 0x10050557
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], ecx
cmp edx, dword [eax + 4]
jl 0x100504c6
mov eax, esi
mov dword [ebp - 0x20], esi
mov dword [0x103098c8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10050576
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [ebp - 0x20], eax
mov dword [0x103098c8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10050576
mov eax, dword [0x103098c8]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp + 8]
movss xmm2, dword [eax + ecx]
mov eax, dword [0x10309908]
test al, 1
jne 0x100506b6
or eax, 1
mov dword [0x10309908], eax
mov dword [ebp - 4], 4
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x100505f4
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100505e9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x100505c0
xor edx, edx
test ecx, ecx
je 0x100505e9
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100505d0
cmp edi, 0x54aff69
je 0x1005060d
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x100505a8
xor eax, eax
mov ecx, dword [ebp + 8]
add eax, 0x30
mov dword [0x103098e8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x100506bb
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x1c], esi
cmp dword [eax + 4], esi
jle 0x100506a4
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10050657
cmp dword [ecx + 4], 0
jle 0x10050657
push 0
mov edx, 0x3775d33c
call fcn.10115470
add esp, 4
test eax, eax
je 0x10050654
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050660
xor edx, edx
test ecx, ecx
je 0x1005068c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050670
cmp edi, 0x3775d33c
je 0x100506ab
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x10050626
mov eax, esi
jmp 0x100505f6
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x100505f6
mov eax, dword [0x103098e8]
movss xmm1, dword [eax + ecx]
mov eax, dword [0x103098ec]
test al, 1
jne 0x10050805
or eax, 1
mov dword [0x103098ec], eax
mov dword [ebp - 4], 5
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x10050734
nop word [eax + eax]
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10050729
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050703
xor edx, edx
test ecx, ecx
je 0x10050729
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050710
cmp edi, 0x1eee87cc
je 0x1005074d
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x100506f0
xor eax, eax
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x1c], eax
mov dword [0x103098f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1005080d
mov ecx, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
cmp dword [ecx + 4], esi
jle 0x100507e4
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ecx]
mov ecx, dword [ebx + eax + 0x28]
add ebx, eax
test ecx, ecx
je 0x10050798
cmp dword [ecx + 4], 0
jle 0x10050798
push 0
mov edx, 0x82735d4f
call fcn.10115470
add esp, 4
test eax, eax
je 0x10050795
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x100507a1
xor edx, edx
test ecx, ecx
je 0x100507cc
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100507b0
cmp edi, 0x82735d4f
je 0x100507fa
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
add eax, 0x3c
mov ecx, dword [ebp - 0x1c]
inc edx
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 4]
jl 0x10050766
mov ecx, dword [ebp + 8]
mov eax, esi
mov dword [ebp - 0x1c], esi
mov dword [0x103098f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1005080d
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x10050736
mov eax, dword [0x103098f8]
mov dword [ebp - 0x1c], eax
movss xmm0, dword [eax + ecx]
mov eax, dword [0x103098b4]
test al, 1
jne 0x10050946
or eax, 1
mov dword [0x103098b4], eax
mov dword [ebp - 4], 6
mov eax, dword [0x103030fc]
mov ebx, dword [0x103030f8]
cmp ebx, eax
je 0x10050885
nop dword [eax]
mov ecx, dword [ebx]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x1005087e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10050853
xor edx, edx
test ecx, ecx
je 0x1005087e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050860
cmp edi, 0x1eee87cc
je 0x1005089e
mov eax, dword [0x103030fc]
add ebx, 4
cmp ebx, eax
jne 0x10050840
xor eax, eax
mov ecx, dword [ebp + 8]
add eax, 4
mov dword [0x10309924], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1005094b
mov ecx, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x24], esi
cmp dword [ecx + 4], esi
jle 0x10050934
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ecx]
mov ecx, dword [ebx + eax + 0x28]
add ebx, eax
test ecx, ecx
je 0x100508e9
cmp dword [ecx + 4], 0
jle 0x100508e9
push 0
mov edx, 0x82735d4f
call fcn.10115470
add esp, 4
test eax, eax
je 0x100508e6
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100508f2
xor edx, edx
test ecx, ecx
je 0x1005091c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050900
cmp edi, 0x82735d4f
je 0x1005093b
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
add eax, 0x3c
mov ecx, dword [ebp - 0x28]
inc edx
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 4]
jl 0x100508b7
mov eax, esi
jmp 0x10050887
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
jmp 0x10050887
mov eax, dword [0x10309924]
ucomiss xmm0, dword [eax + ecx]
lahf
test ah, 0x44
jnp 0x100515b6
ucomiss xmm2, xmm1
lahf
test ah, 0x44
jnp 0x100515b6
ucomiss xmm2, dword [0x10257eb8]
lahf
test ah, 0x44
jp 0x100515b6
mov ecx, dword [0x10633ee0]
add ecx, 0xfab78433
xor ecx, 0xc85d879a
mov eax, dword [ecx + 0x108]
ucomiss xmm0, dword [eax + 0x10]
lahf
test ah, 0x44
jp 0x100515b6
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x28]
cmp eax, dword [ecx + 0x150]
jne 0x10050efb
mov eax, dword [0x103098f4]
test al, 1
jne 0x10050afe
or eax, 1
mov dword [0x103098f4], eax
mov dword [ebp - 4], 7
mov eax, dword [0x103030fc]
mov ebx, dword [0x103030f8]
cmp ebx, eax
je 0x10050a25
nop word [eax + eax]
mov ecx, dword [ebx]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10050a1e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x100509f3
xor edx, edx
test ecx, ecx
je 0x10050a1e
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050a00
cmp edi, 0x54aff69
je 0x10050a39
mov eax, dword [0x103030fc]
add ebx, 4
cmp ebx, eax
jne 0x100509e0
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x103098c0], ecx
jmp 0x10050b04
mov ecx, dword [ebp - 0x24]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], esi
cmp dword [ecx + 4], esi
jle 0x10050ad8
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ecx]
mov ecx, dword [ebx + eax + 0x28]
add ebx, eax
test ecx, ecx
je 0x10050a84
cmp dword [ecx + 4], 0
jle 0x10050a84
push 0
mov edx, 0x3775d33c
call fcn.10115470
add esp, 4
test eax, eax
je 0x10050a81
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050a90
xor edx, edx
test ecx, ecx
je 0x10050abc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050aa0
cmp edi, 0x3775d33c
je 0x10050ae9
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, 0x3c
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 4]
jl 0x10050a52
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103098c0], ecx
jmp 0x10050b04
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
mov dword [0x103098c0], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10050b04
mov ecx, dword [0x103098c0]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp + 8]
mov eax, dword [eax + 8]
cmp eax, dword [ecx + edx]
jne 0x10050efb
mov eax, dword [0x1030992c]
test al, 1
jne 0x10050c46
or eax, 1
mov dword [0x1030992c], eax
mov dword [ebp - 4], 8
mov eax, dword [0x103030fc]
mov ebx, dword [0x103030f8]
cmp ebx, eax
je 0x10050b86
mov ecx, dword [ebx]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10050b7f
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050b54
xor edx, edx
test ecx, ecx
je 0x10050b7f
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050b61
cmp edi, 0x22961f03
je 0x10050b9d
mov eax, dword [0x103030fc]
add ebx, 4
cmp ebx, eax
jne 0x10050b41
xor ecx, ecx
mov edx, dword [ebp + 8]
mov dword [0x10309928], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10050c4c
mov ecx, dword [ebp - 0x24]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], esi
cmp dword [ecx + 4], esi
jle 0x10050c34
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ecx]
mov ecx, dword [ebx + eax + 0x28]
add ebx, eax
test ecx, ecx
je 0x10050be8
cmp dword [ecx + 4], 0
jle 0x10050be8
push 0
mov edx, 0x6930d720
call fcn.10115470
add esp, 4
test eax, eax
je 0x10050be5
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050bf1
xor edx, edx
test ecx, ecx
je 0x10050c1c
nop
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050c00
cmp edi, 0x6930d720
je 0x10050c3b
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, 0x3c
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 4]
jl 0x10050bb6
mov ecx, esi
jmp 0x10050b88
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
jmp 0x10050b88
mov ecx, dword [0x10309928]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0xc]
cmp eax, dword [ecx + edx]
jne 0x10050efb
mov eax, dword [0x103098f0]
test al, 1
jne 0x10050d96
or eax, 1
mov dword [0x103098f0], eax
mov dword [ebp - 4], 9
mov eax, dword [0x103030fc]
mov ebx, dword [0x103030f8]
cmp ebx, eax
je 0x10050cd5
mov ecx, dword [ebx]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10050cce
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050ca0
xor edx, edx
test ecx, ecx
je 0x10050cce
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050cb0
cmp edi, 0x22961f03
je 0x10050cec
mov eax, dword [0x103030fc]
add ebx, 4
cmp ebx, eax
jne 0x10050c86
xor ecx, ecx
mov edx, dword [ebp + 8]
mov dword [0x103098d4], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10050d9c
mov ecx, dword [ebp - 0x24]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], esi
cmp dword [ecx + 4], esi
jle 0x10050d84
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ecx]
mov ecx, dword [ebx + eax + 0x28]
add ebx, eax
test ecx, ecx
je 0x10050d37
cmp dword [ecx + 4], 0
jle 0x10050d37
push 0
mov edx, 0x3222175
call fcn.10115470
add esp, 4
test eax, eax
je 0x10050d34
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050d40
xor edx, edx
test ecx, ecx
je 0x10050d6c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050d50
cmp edi, 0x3222175
je 0x10050d8b
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, 0x3c
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 4]
jl 0x10050d05
mov ecx, esi
jmp 0x10050cd7
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
jmp 0x10050cd7
mov ecx, dword [0x103098d4]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x10]
cmp eax, dword [ecx + edx]
jne 0x10050efb
mov eax, dword [0x103098d8]
test al, 1
jne 0x10050ee6
or eax, 1
mov dword [0x103098d8], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x103030fc]
mov ebx, dword [0x103030f8]
cmp ebx, eax
je 0x10050e25
mov ecx, dword [ebx]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10050e1e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050df0
xor edx, edx
test ecx, ecx
je 0x10050e1e
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050e00
cmp edi, 0x1eee87cc
je 0x10050e3c
mov eax, dword [0x103030fc]
add ebx, 4
cmp ebx, eax
jne 0x10050dd6
xor ecx, ecx
mov edx, dword [ebp + 8]
mov dword [0x10309920], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10050eec
mov ecx, dword [ebp - 0x24]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], esi
cmp dword [ecx + 4], esi
jle 0x10050ed4
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ecx]
mov ecx, dword [ebx + eax + 0x28]
add ebx, eax
test ecx, ecx
je 0x10050e87
cmp dword [ecx + 4], 0
jle 0x10050e87
push 0
mov edx, 0x996ac90a
call fcn.10115470
add esp, 4
test eax, eax
je 0x10050e84
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10050e90
xor edx, edx
test ecx, ecx
je 0x10050ebc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050ea0
cmp edi, 0x996ac90a
je 0x10050edb
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, 0x3c
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 4]
jl 0x10050e55
mov ecx, esi
jmp 0x10050e27
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
jmp 0x10050e27
mov ecx, dword [0x10309920]
mov eax, dword [ebp - 0x10]
mov eax, dword [eax + 0x14]
cmp eax, dword [ecx + edx]
je 0x10051075
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
mov eax, dword [eax + 0x14c]
mov dword [ebp - 0x2c], eax
mov eax, dword [0x1030989c]
test al, 1
jne 0x1005105e
or eax, 1
mov dword [0x1030989c], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x103030fc]
mov ebx, dword [0x103030f8]
cmp ebx, eax
je 0x10050f85
nop
mov ecx, dword [ebx]
mov dword [ebp - 0x24], ecx
test ecx, ecx
je 0x10050f7e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10050f53
xor edx, edx
test ecx, ecx
je 0x10050f7e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10050f60
cmp edi, 0x72e242a1
je 0x10050f99
mov eax, dword [0x103030fc]
add ebx, 4
cmp ebx, eax
jne 0x10050f40
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x1030963c], ecx
jmp 0x10051064
mov ecx, dword [ebp - 0x24]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], esi
cmp dword [ecx + 4], esi
jle 0x10051038
xor eax, eax
mov dword [ebp - 0x18], eax
mov ebx, dword [ecx]
mov ecx, dword [ebx + eax + 0x28]
add ebx, eax
test ecx, ecx
je 0x10050fe4
cmp dword [ecx + 4], 0
jle 0x10050fe4
push 0
mov edx, 0x23393cbf
call fcn.10115470
add esp, 4
test eax, eax
je 0x10050fe1
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10050ff0
xor edx, edx
test ecx, ecx
je 0x1005101c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10051000
cmp edi, 0x23393cbf
je 0x10051049
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
add eax, 0x3c
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x18], eax
cmp edx, dword [ecx + 4]
jl 0x10050fb2
mov ecx, esi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1030963c], ecx
jmp 0x10051064
mov ecx, dword [ebx + 0x2c]
add ecx, dword [ebp - 0x14]
mov dword [0x1030963c], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10051064
mov ecx, dword [0x1030963c]
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x2c]
mov al, byte [eax]
cmp al, byte [edx + ecx]
jne 0x100515b6
mov eax, dword [0x103098b4]
test al, 1
jne 0x100511be
or eax, 1
mov dword [0x103098b4], eax
mov dword [ebp - 4], 0xc
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x100510e4
nop
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100510d9
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100510b3
xor edx, edx
test ecx, ecx
je 0x100510d9
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100510c0
cmp edi, 0x1eee87cc
je 0x100510fc
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x100510a0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov eax, 4
mov dword [0x10309924], eax
jmp 0x100511c3
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x10051194
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10051146
cmp dword [ecx + 4], 0
jle 0x10051146
push 0
mov edx, 0x82735d4f
call fcn.10115470
add esp, 4
test eax, eax
je 0x10051143
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10051150
xor edx, edx
test ecx, ecx
je 0x1005117c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10051160
cmp edi, 0x82735d4f
je 0x100511a7
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x10051115
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add eax, 4
mov dword [0x10309924], eax
jmp 0x100511c3
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 4], 0xffffffff
mov dword [0x10309924], eax
jmp 0x100511c3
mov eax, dword [0x10309924]
mov ecx, dword [ebp + 8]
movss xmm0, dword [eax + ecx]
mov eax, dword [0x103098ec]
test al, 1
jne 0x10051312
or eax, 1
mov dword [0x103098ec], eax
mov dword [ebp - 4], 0xd
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x10051244
nop dword [eax]
mov eax, dword [ebx]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10051239
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10051213
xor edx, edx
test ecx, ecx
je 0x10051239
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10051220
cmp edi, 0x1eee87cc
je 0x10051258
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x10051200
xor esi, esi
mov dword [0x103098f8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x10051315
mov eax, dword [ebp - 0x18]
xor esi, esi
mov dword [ebp - 0x14], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x10051246
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop dword [eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100512a1
cmp dword [ecx + 4], 0
jle 0x100512a1
push 0
mov edx, 0x82735d4f
call fcn.10115470
add esp, 4
test eax, eax
je 0x1005129e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x14], esi
mov eax, dword [ebp - 0x18]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x100512b0
xor edx, edx
test ecx, ecx
je 0x100512dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100512c0
cmp edi, 0x82735d4f
je 0x100512fd
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jge 0x10051246
jmp 0x10051270
mov esi, dword [ebx + 0x2c]
add esi, dword [ebp - 0x14]
mov dword [0x103098f8], esi
mov dword [ebp - 4], 0xffffffff
jmp 0x10051315
mov esi, dword [ebp - 0x1c]
mov eax, dword [ebp + 8]
movss dword [esi + eax], xmm0
mov eax, dword [0x10309908]
test al, 1
jne 0x1005146e
or eax, 1
mov dword [0x10309908], eax
mov dword [ebp - 4], 0xe
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x10051394
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x10051389
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10051360
xor edx, edx
test ecx, ecx
je 0x10051389
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10051370
cmp edi, 0x54aff69
je 0x100513ac
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x10051347
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov eax, 0x30
mov dword [0x103098e8], eax
jmp 0x10051473
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x10051444
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x100513f6
cmp dword [ecx + 4], 0
jle 0x100513f6
push 0
mov edx, 0x3775d33c
call fcn.10115470
add esp, 4
test eax, eax
je 0x100513f3
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10051400
xor edx, edx
test ecx, ecx
je 0x1005142c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10051410
cmp edi, 0x3775d33c
je 0x10051457
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x100513c5
mov eax, esi
mov dword [ebp - 4], 0xffffffff
add eax, 0x30
mov dword [0x103098e8], eax
jmp 0x10051473
mov eax, dword [ebx + 0x2c]
add eax, dword [ebp - 0x18]
add eax, 0x30
mov dword [ebp - 4], 0xffffffff
mov dword [0x103098e8], eax
jmp 0x10051473
mov eax, dword [0x103098e8]
mov ecx, dword [ebp + 8]
movss xmm0, dword [eax + ecx]
mov eax, dword [0x103098c4]
test al, 1
jne 0x100515ab
or eax, 1
mov dword [0x103098c4], eax
mov dword [ebp - 4], 0xf
mov ebx, dword [0x103030f8]
cmp ebx, dword [0x103030fc]
je 0x100514e9
mov eax, dword [ebx]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x100514de
mov esi, dword [eax + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x100514b8
xor edx, edx
test ecx, ecx
je 0x100514de
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x100514c5
cmp edi, 0x54aff69
je 0x100514f6
add ebx, 4
cmp ebx, dword [0x103030fc]
jne 0x100514a5
xor esi, esi
mov dword [0x103098c8], esi
jmp 0x100515ae
mov eax, dword [ebp - 0x1c]
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x28], esi
cmp dword [eax + 4], esi
jle 0x100514eb
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop dword [eax + eax]
mov ebx, dword [eax]
add ebx, ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x10051541
cmp dword [ecx + 4], 0
jle 0x10051541
push 0
mov edx, 0xc77829f
call fcn.10115470
add esp, 4
test eax, eax
je 0x1005153e
mov ecx, dword [ebx + 0x2c]
add ecx, eax
add esi, ecx
mov dword [ebp - 0x18], esi
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebx]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x10051550
xor edx, edx
test ecx, ecx
je 0x1005157c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10051560
cmp edi, 0xc77829f
je 0x1005159d
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov esi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jge 0x100514eb
jmp 0x10051510
mov esi, dword [ebx + 0x2c]
add esi, dword [ebp - 0x18]
mov dword [0x103098c8], esi
jmp 0x100515ae
mov esi, dword [ebp - 0x20]
mov eax, dword [ebp + 8]
movss dword [esi + eax], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4