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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101be9f7
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push esi
push edi
mov eax, dword [0x10203360]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x30], esi
mov edx, dword [0x105cbfb0]
add edx, 0x4fd8cdb0
xor edx, 0x91d5c6d7
mov eax, dword [edx + 0xc8]
mov dword [ebp - 0x1c], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
mov eax, dword [edx + 0x14c]
mov dword [ebp - 0x28], eax
mov eax, dword [0x1029e42c]
test al, 1
jne 0x1004e335
or eax, 1
mov dword [0x1029e42c], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1029b360]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1029b364]
je 0x1004e24e
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1004e240
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004e217
xor edx, edx
test ecx, ecx
je 0x1004e240
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e224
cmp edi, 0x4e9f1122
je 0x1004e264
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1029b364]
jne 0x1004e204
mov esi, dword [ebp - 0x30]
xor eax, eax
mov dword [0x1029cb70], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e33a
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x1004e308
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004e2b4
cmp dword [ecx + 4], 0
jle 0x1004e2b4
push 0
mov edx, 0xcc0d385b
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004e2b1
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 0x1004e2c0
xor edx, edx
test ecx, ecx
je 0x1004e2ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e2d0
cmp edi, 0xcc0d385b
je 0x1004e31b
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1004e280
mov esi, dword [ebp - 0x30]
mov eax, edi
mov dword [0x1029cb70], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e33a
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x1029cb70], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e33a
mov eax, dword [0x1029cb70]
mov ecx, dword [ebp - 0x28]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x1c]
call dword [ebp - 0x10]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1004f76a
mov ecx, dword [ebp + 8]
mov edi, 0x96
mov ecx, dword [ecx + 4]
mov eax, ecx
cdq
idiv edi
add edx, 0x560
imul eax, edx, 0x2c
add eax, esi
mov dword [ebp - 0x10], eax
mov dword [eax + 4], ecx
mov eax, dword [0x105cbfb0]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x34], eax
mov eax, dword [0x102a1554]
test al, 1
jne 0x1004e4db
or eax, 1
mov dword [0x102a1554], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1029b360]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1029b364]
je 0x1004e40a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1004e3fc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004e3d3
xor edx, edx
test ecx, ecx
je 0x1004e3fc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e3e0
cmp edi, 0x22961f03
je 0x1004e41d
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1029b364]
jne 0x1004e3c0
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a14f0], eax
jmp 0x1004e4e0
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x1004e4b4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x2c], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004e46a
cmp dword [ecx + 4], 0
jle 0x1004e46a
push 0
mov edx, 0xf6d89572
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004e467
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x18]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004e473
xor edx, edx
test ecx, ecx
je 0x1004e49c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e480
cmp edi, 0xf6d89572
je 0x1004e4c4
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1004e436
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a14f0], eax
jmp 0x1004e4e0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
mov dword [0x102a14f0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e4e0
mov eax, dword [0x102a14f0]
mov ecx, dword [ebp - 0x14]
push dword [eax + ecx]
mov ecx, dword [ebp - 0x28]
call dword [ebp - 0x34]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x1004e7f9
mov ecx, dword [0x102a176c]
test cl, 1
jne 0x1004e64b
or ecx, 1
mov dword [0x102a176c], ecx
mov dword [ebp - 4], 2
mov eax, dword [0x1029b360]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1029b364]
je 0x1004e57a
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004e56c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004e540
xor edx, edx
test ecx, ecx
je 0x1004e56c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e550
cmp edi, 0x72e242a1
je 0x1004e58d
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1029b364]
jne 0x1004e526
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a150c], eax
jmp 0x1004e650
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x1004e624
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004e5da
cmp dword [ecx + 4], 0
jle 0x1004e5da
push 0
mov edx, 0x23393cbf
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004e5d7
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 0x1004e5e3
xor edx, edx
test ecx, ecx
je 0x1004e60c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e5f0
cmp edi, 0x23393cbf
je 0x1004e634
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1004e5a6
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a150c], eax
jmp 0x1004e650
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102a150c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e650
mov eax, dword [0x102a150c]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
mov al, byte [ecx + eax]
mov byte [esi], al
mov eax, dword [0x105cbfb0]
add eax, 0x4fd8cdb0
xor eax, 0x91d5c6d7
mov eax, dword [eax + 0xc8]
mov dword [ebp - 0x2c], eax
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x38], eax
mov eax, dword [0x1029e3ac]
test al, 1
jne 0x1004e7e5
or eax, 1
mov dword [0x1029e3ac], eax
mov dword [ebp - 4], 3
mov eax, dword [0x1029b360]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1029b364]
je 0x1004e6fa
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004e6ec
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004e6c0
xor edx, edx
test ecx, ecx
je 0x1004e6ec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e6d0
cmp edi, 0x4e9f1122
je 0x1004e710
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x1029b364]
jne 0x1004e6a7
mov ecx, dword [ebp - 0x28]
xor eax, eax
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e7ea
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x1004e7b8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x34], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004e764
cmp dword [ecx + 4], 0
jle 0x1004e764
push 0
mov edx, 0x940131c5
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004e761
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 0x1004e770
xor edx, edx
test ecx, ecx
je 0x1004e79c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e780
cmp edi, 0x940131c5
je 0x1004e7cb
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x1004e730
mov ecx, dword [ebp - 0x28]
mov eax, edi
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e7ea
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x1029cb50], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e7ea
mov eax, dword [0x1029cb50]
push dword [ecx + eax]
mov ecx, dword [ebp - 0x2c]
call dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x28], eax
mov eax, dword [0x102a17c4]
test al, 1
jne 0x1004e94f
or eax, 1
mov dword [0x102a17c4], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1029b360]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
je 0x1004e86f
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004e861
mov edi, dword [ecx + 0xc]
mov esi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + edi], 0
jne 0x1004e838
xor edx, edx
test ecx, ecx
je 0x1004e861
movsx eax, byte [edx + edi]
inc edx
xor eax, esi
imul esi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e845
cmp esi, 0x54aff69
je 0x1004e882
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
jne 0x1004e825
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a1790], eax
jmp 0x1004e954
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004e928
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004e8d4
cmp dword [ecx + 4], 0
jle 0x1004e8d4
push 0
mov edx, 0x3775d33c
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004e8d1
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 0x1004e8e0
xor edx, edx
test ecx, ecx
je 0x1004e90c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e8f0
cmp edi, 0x3775d33c
je 0x1004e938
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x1004e8a0
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x102a1790], eax
jmp 0x1004e954
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102a1790], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004e954
mov eax, dword [0x102a1790]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + ecx]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 8], eax
mov eax, dword [0x102a17fc]
test al, 1
jne 0x1004eac5
or eax, 1
mov dword [0x102a17fc], eax
mov dword [ebp - 4], 5
mov eax, dword [0x1029b360]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
je 0x1004e9da
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004e9cc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004e9a3
xor edx, edx
test ecx, ecx
je 0x1004e9cc
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e9b0
cmp edi, 0x22961f03
je 0x1004e9f0
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
jne 0x1004e990
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [0x102a17f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004eaca
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004ea98
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004ea44
cmp dword [ecx + 4], 0
jle 0x1004ea44
push 0
mov edx, 0x6930d720
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004ea41
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 0x1004ea50
xor edx, edx
test ecx, ecx
je 0x1004ea7c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ea60
cmp edi, 0x6930d720
je 0x1004eaab
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x1004ea10
mov ecx, dword [ebp - 0x10]
mov eax, edi
mov dword [0x102a17f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004eaca
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x102a17f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004eaca
mov eax, dword [0x102a17f8]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx]
mov dword [ecx + 0xc], eax
mov eax, dword [0x102a17c0]
test al, 1
jne 0x1004ec20
or eax, 1
mov dword [0x102a17c0], eax
mov dword [ebp - 4], 6
mov eax, dword [0x1029b360]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
je 0x1004eb4a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004eb3c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004eb13
xor edx, edx
test ecx, ecx
je 0x1004eb3c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004eb20
cmp edi, 0x22961f03
je 0x1004eb66
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
jne 0x1004eb00
xor eax, eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x102a17a4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004ec28
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004ec08
xor ecx, ecx
mov dword [ebp - 0x24], ecx
nop
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004ebb4
cmp dword [ecx + 4], 0
jle 0x1004ebb4
push 0
mov edx, 0x3222175
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004ebb1
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 0x1004ebc0
xor edx, edx
test ecx, ecx
je 0x1004ebec
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ebd0
cmp edi, 0x3222175
je 0x1004ec12
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x24]
inc edx
mov edi, dword [ebp - 0x18]
add ecx, 0x3c
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x24], ecx
cmp edx, dword [eax + 4]
jl 0x1004eb80
mov eax, edi
mov dword [ebp - 0x24], edi
jmp 0x1004eb4f
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1004eb4c
mov eax, dword [0x102a17a4]
mov dword [ebp - 0x24], eax
mov eax, dword [eax + edx]
mov edx, dword [0x102a17a8]
mov dword [ecx + 0x10], eax
test dl, 1
jne 0x1004ed80
or edx, 1
mov dword [0x102a17a8], edx
mov dword [ebp - 4], 7
mov eax, dword [0x1029b360]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
je 0x1004ecaa
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004ec9c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004ec73
xor edx, edx
test ecx, ecx
je 0x1004ec9c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ec80
cmp edi, 0x1eee87cc
je 0x1004ecc7
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
jne 0x1004ec60
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x102a17a8]
mov dword [0x102a17f0], ecx
jmp 0x1004ed89
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004ed68
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004ed14
cmp dword [ecx + 4], 0
jle 0x1004ed14
push 0
mov edx, 0x996ac90a
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004ed11
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 0x1004ed20
xor edx, edx
test ecx, ecx
je 0x1004ed4c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ed30
cmp edi, 0x996ac90a
je 0x1004ed72
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 0x1004ece0
mov ecx, edi
mov dword [ebp - 0x18], edi
jmp 0x1004ecaf
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x1004ecac
mov ecx, dword [0x102a17f0]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x14]
mov esi, dword [ebp - 0x10]
mov eax, dword [ecx + eax]
mov dword [esi + 0x14], eax
test dl, 1
jne 0x1004ee20
or edx, 1
mov dword [0x102a17a8], edx
mov dword [ebp - 4], 8
mov eax, dword [0x1029b360]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
je 0x1004ee0e
nop
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1004ee00
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004edd3
xor edx, edx
test ecx, ecx
je 0x1004ee00
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ede0
cmp edi, 0x1eee87cc
je 0x1004eec6
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x1029b364]
jne 0x1004edc0
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [0x102a17f0], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x14]
mov eax, dword [ecx + eax]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x14], eax
mov eax, dword [0x102a17bc]
test al, 1
jne 0x1004f055
or eax, 1
mov dword [0x102a17bc], eax
mov dword [ebp - 4], 9
mov eax, dword [0x1029b360]
mov ecx, dword [0x1029b364]
mov dword [ebp - 0x28], eax
cmp eax, ecx
je 0x1004eeb0
nop word [eax + eax]
mov edx, dword [eax]
mov dword [ebp - 0x2c], edx
test edx, edx
je 0x1004eea6
mov esi, dword [edx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004ee73
xor edx, edx
test ecx, ecx
je 0x1004eea0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ee80
cmp edi, 0x1eee87cc
je 0x1004ef80
mov eax, dword [ebp - 0x28]
mov ecx, dword [0x1029b364]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, ecx
jne 0x1004ee60
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [0x102a17c8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f05a
mov ecx, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [ecx + 4], edi
jle 0x1004ef68
xor eax, eax
mov dword [ebp - 0x1c], eax
nop
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x1004ef15
cmp dword [ecx + 4], 0
jle 0x1004ef15
push 0
mov edx, 0x996ac90a
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004ef12
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
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004ef20
xor edx, edx
test ecx, ecx
je 0x1004ef4c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ef30
cmp edi, 0x996ac90a
je 0x1004ef72
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
add eax, 0x3c
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x18]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x1c], eax
cmp edx, dword [ecx + 4]
jl 0x1004eee0
mov ecx, edi
mov dword [ebp - 0x18], edi
jmp 0x1004ee13
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x1004ee10
mov ecx, dword [ebp - 0x2c]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], edi
cmp dword [ecx + 4], edi
jle 0x1004f028
xor eax, eax
mov dword [ebp - 0x1c], eax
nop dword [eax]
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x1004efd5
cmp dword [ecx + 4], 0
jle 0x1004efd5
push 0
mov edx, 0x82735d4f
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004efd2
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp - 0x1c]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004efe0
xor edx, edx
test ecx, ecx
je 0x1004f00c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004eff0
cmp edi, 0x82735d4f
je 0x1004f03b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
add eax, 0x3c
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x20]
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x1c], eax
cmp edx, dword [ecx + 4]
jl 0x1004efa0
mov ecx, dword [ebp - 0x10]
mov eax, edi
mov dword [0x102a17c8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f05a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x20]
mov dword [0x102a17c8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f05a
mov eax, dword [0x102a17c8]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx]
mov dword [ecx + 0x18], eax
mov eax, dword [0x102a1788]
test al, 1
jne 0x1004f1ad
or eax, 1
mov dword [0x102a1788], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x1029b360]
mov ecx, dword [0x1029b364]
mov dword [ebp - 0x2c], eax
cmp eax, ecx
je 0x1004f0dd
mov edx, dword [eax]
mov dword [ebp - 0x28], edx
test edx, edx
je 0x1004f0d3
mov esi, dword [edx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f0a4
xor edx, edx
test ecx, ecx
je 0x1004f0cd
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f0b1
cmp edi, 0x1eee87cc
je 0x1004f0f9
mov eax, dword [ebp - 0x2c]
mov ecx, dword [0x1029b364]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, ecx
jne 0x1004f091
xor eax, eax
mov ecx, dword [ebp - 0x10]
add eax, 4
mov edx, dword [ebp - 0x14]
mov dword [0x102a17f4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f1b2
mov ecx, dword [ebp - 0x28]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [ecx + 4], edi
jle 0x1004f198
xor eax, eax
mov dword [ebp - 0x20], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x1004f147
cmp dword [ecx + 4], 0
jle 0x1004f147
push 0
mov edx, 0x82735d4f
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004f144
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f150
xor edx, edx
test ecx, ecx
je 0x1004f17c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f160
cmp edi, 0x82735d4f
je 0x1004f19f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
add eax, 0x3c
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], eax
cmp edx, dword [ecx + 4]
jl 0x1004f112
mov eax, edi
jmp 0x1004f0df
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1004f0df
mov eax, dword [0x102a17f4]
mov eax, dword [eax + edx]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x102a1794]
test al, 1
jne 0x1004f2fd
or eax, 1
mov dword [0x102a1794], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x1029b360]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1029b364]
je 0x1004f22e
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x1004f220
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f1f7
xor edx, edx
test ecx, ecx
je 0x1004f220
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f204
cmp edi, 0x54aff69
je 0x1004f247
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1029b364]
jne 0x1004f1e4
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x102a1798], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f302
mov ecx, dword [ebp - 0x28]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [ecx + 4], edi
jle 0x1004f2e8
xor eax, eax
mov dword [ebp - 0x20], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x1004f295
cmp dword [ecx + 4], 0
jle 0x1004f295
push 0
mov edx, 0xc77829f
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004f292
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f2a0
xor edx, edx
test ecx, ecx
je 0x1004f2cc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f2b0
cmp edi, 0xc77829f
je 0x1004f2ef
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
add eax, 0x3c
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], eax
cmp edx, dword [ecx + 4]
jl 0x1004f260
mov eax, edi
jmp 0x1004f230
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1004f230
mov eax, dword [0x102a1798]
mov eax, dword [eax + edx]
mov dword [ecx + 0x20], eax
mov eax, dword [0x102a17d8]
test al, 1
jne 0x1004f44d
or eax, 1
mov dword [0x102a17d8], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x1029b360]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1029b364]
je 0x1004f37e
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x1004f370
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f347
xor edx, edx
test ecx, ecx
je 0x1004f370
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f354
cmp edi, 0x54aff69
je 0x1004f39a
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x1029b364]
jne 0x1004f334
xor eax, eax
mov ecx, dword [ebp - 0x10]
add eax, 0x30
mov edx, dword [ebp - 0x14]
mov dword [0x102a17b8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f452
mov ecx, dword [ebp - 0x28]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [ecx + 4], edi
jle 0x1004f438
xor eax, eax
mov dword [ebp - 0x20], eax
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x1004f3e8
cmp dword [ecx + 4], 0
jle 0x1004f3e8
push 0
mov edx, 0x3775d33c
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004f3e5
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x20]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f3f1
xor edx, edx
test ecx, ecx
je 0x1004f41c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f400
cmp edi, 0x3775d33c
je 0x1004f43f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
add eax, 0x3c
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x1c]
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x20], eax
cmp edx, dword [ecx + 4]
jl 0x1004f3b3
mov eax, edi
jmp 0x1004f380
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1004f380
mov eax, dword [0x102a17b8]
mov eax, dword [eax + edx]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x38], 0
je 0x1004f76a
mov esi, dword [eax + 4]
mov eax, 0x1b4e81b5
dec esi
imul esi
mov ecx, 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 - 0x30]
movups xmm0, xmmword [eax + 0x10]
movups xmm1, xmmword [eax]
movups xmmword [ebp - 0x54], xmm0
movq xmm0, qword [eax + 0x20]
psrldq xmm1, 4
movd eax, xmm1
movq qword [ebp - 0x44], xmm0
cmp eax, esi
jne 0x1004f76a
mov eax, dword [0x102a17a8]
test al, 1
jne 0x1004f5f5
or eax, 1
mov dword [0x102a17a8], eax
mov dword [ebp - 4], 0xd
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x1004f52c
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x1004f51e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f4f5
xor edx, edx
test ecx, ecx
je 0x1004f51e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f502
cmp edi, 0x1eee87cc
je 0x1004f540
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x1004f4e2
xor edi, edi
mov dword [0x102a17f0], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f5f8
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1004f52e
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004f589
cmp dword [ecx + 4], 0
jle 0x1004f589
push 0
mov edx, 0x996ac90a
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004f586
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp + 8]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004f592
xor edx, edx
test ecx, ecx
je 0x1004f5bc
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f5a0
cmp edi, 0x996ac90a
je 0x1004f5dd
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jge 0x1004f52e
jmp 0x1004f555
mov eax, dword [ebp - 0x38]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x20]
mov dword [0x102a17f0], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f5f8
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
cmp eax, dword [edi + ecx]
je 0x1004f76a
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x10]
inc ecx
and ecx, 7
mov dword [ebp - 0x34], ecx
lea eax, [ecx + 1]
and eax, 7
cmp eax, dword [edx + 0x10]
jne 0x1004f76a
mov eax, dword [0x102a17c0]
mov dword [edx + 0x10], ecx
test al, 1
jne 0x1004f761
or eax, 1
mov dword [0x102a17c0], eax
mov dword [ebp - 4], 0xe
mov eax, dword [0x1029b360]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
je 0x1004f69c
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x1004f68e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f665
xor edx, edx
test ecx, ecx
je 0x1004f68e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f672
cmp edi, 0x22961f03
je 0x1004f6ac
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x1029b364]
jne 0x1004f652
xor edi, edi
mov ecx, dword [ebp - 0x34]
mov dword [0x102a17a4], edi
jmp 0x1004f764
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1004f69e
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004f6f5
cmp dword [ecx + 4], 0
jle 0x1004f6f5
push 0
mov edx, 0x3222175
call fcn.101146e0
add esp, 4
test eax, eax
je 0x1004f6f2
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x20], edi
mov eax, dword [ebp + 8]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f700
xor edx, edx
test ecx, ecx
je 0x1004f72c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f710
cmp edi, 0x3222175
je 0x1004f74d
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
inc edx
mov edi, dword [ebp - 0x20]
add ecx, 0x3c
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], ecx
cmp edx, dword [eax + 4]
jge 0x1004f69e
jmp 0x1004f6c1
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x20]
mov dword [0x102a17a4], edi
jmp 0x1004f764
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
mov dword [edi + eax], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
ret 4