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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101ce4f7
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push esi
push edi
mov eax, dword [0x1026b040]
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 [0x10633ee0]
add edx, 0xfab78433
xor edx, 0xc85d879a
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 [0x1030655c]
test al, 1
jne 0x1004eac5
or eax, 1
mov dword [0x1030655c], eax
mov dword [ebp - 4], 0
mov eax, dword [0x103030f8]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x103030fc]
je 0x1004e9de
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1004e9d0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004e9a7
xor edx, edx
test ecx, ecx
je 0x1004e9d0
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004e9b4
cmp edi, 0x4e9f1122
je 0x1004e9f4
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x103030fc]
jne 0x1004e994
mov esi, dword [ebp - 0x30]
xor eax, eax
mov dword [0x10304ca0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004eaca
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x1004ea98
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 0x1004ea44
cmp dword [ecx + 4], 0
jle 0x1004ea44
push 0
mov edx, 0xcc0d385b
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004ea41
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 [esi + ecx], 0
jne 0x1004ea50
xor edx, edx
test ecx, ecx
je 0x1004ea7c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ea60
cmp edi, 0xcc0d385b
je 0x1004eaab
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 0x1004ea10
mov esi, dword [ebp - 0x30]
mov eax, edi
mov dword [0x10304ca0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004eaca
mov eax, dword [ebp - 0x2c]
mov esi, dword [ebp - 0x30]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x10304ca0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004eaca
mov eax, dword [0x10304ca0]
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 0x1004fefa
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 [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
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 [0x10309684]
test al, 1
jne 0x1004ec6b
or eax, 1
mov dword [0x10309684], eax
mov dword [ebp - 4], 1
mov eax, dword [0x103030f8]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x103030fc]
je 0x1004eb9a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x1004eb8c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004eb63
xor edx, edx
test ecx, ecx
je 0x1004eb8c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004eb70
cmp edi, 0x22961f03
je 0x1004ebad
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x103030fc]
jne 0x1004eb50
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10309620], eax
jmp 0x1004ec70
mov eax, dword [ebp - 0x18]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x1004ec44
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 0x1004ebfa
cmp dword [ecx + 4], 0
jle 0x1004ebfa
push 0
mov edx, 0xf6d89572
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004ebf7
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 [esi + ecx], 0
jne 0x1004ec03
xor edx, edx
test ecx, ecx
je 0x1004ec2c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ec10
cmp edi, 0xf6d89572
je 0x1004ec54
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 0x1004ebc6
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10309620], eax
jmp 0x1004ec70
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
mov dword [0x10309620], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004ec70
mov eax, dword [0x10309620]
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 0x1004ef89
mov ecx, dword [0x1030989c]
test cl, 1
jne 0x1004eddb
or ecx, 1
mov dword [0x1030989c], ecx
mov dword [ebp - 4], 2
mov eax, dword [0x103030f8]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x103030fc]
je 0x1004ed0a
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004ecfc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004ecd0
xor edx, edx
test ecx, ecx
je 0x1004ecfc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ece0
cmp edi, 0x72e242a1
je 0x1004ed1d
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x103030fc]
jne 0x1004ecb6
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x1030963c], eax
jmp 0x1004ede0
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x1004edb4
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 0x1004ed6a
cmp dword [ecx + 4], 0
jle 0x1004ed6a
push 0
mov edx, 0x23393cbf
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004ed67
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 0x1004ed73
xor edx, edx
test ecx, ecx
je 0x1004ed9c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ed80
cmp edi, 0x23393cbf
je 0x1004edc4
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 0x1004ed36
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x1030963c], eax
jmp 0x1004ede0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x1030963c], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004ede0
mov eax, dword [0x1030963c]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x10]
mov al, byte [ecx + eax]
mov byte [esi], al
mov eax, dword [0x10633ee0]
add eax, 0xfab78433
xor eax, 0xc85d879a
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 [0x103064dc]
test al, 1
jne 0x1004ef75
or eax, 1
mov dword [0x103064dc], eax
mov dword [ebp - 4], 3
mov eax, dword [0x103030f8]
mov dword [ebp - 0x24], eax
cmp eax, dword [0x103030fc]
je 0x1004ee8a
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004ee7c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop word [eax + eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004ee50
xor edx, edx
test ecx, ecx
je 0x1004ee7c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ee60
cmp edi, 0x4e9f1122
je 0x1004eea0
mov eax, dword [ebp - 0x24]
add eax, 4
mov dword [ebp - 0x24], eax
cmp eax, dword [0x103030fc]
jne 0x1004ee37
mov ecx, dword [ebp - 0x28]
xor eax, eax
mov dword [0x10304c80], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004ef7a
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x24], edi
cmp dword [eax + 4], edi
jle 0x1004ef48
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 0x1004eef4
cmp dword [ecx + 4], 0
jle 0x1004eef4
push 0
mov edx, 0x940131c5
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004eef1
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 [esi + ecx], 0
jne 0x1004ef00
xor edx, edx
test ecx, ecx
je 0x1004ef2c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004ef10
cmp edi, 0x940131c5
je 0x1004ef5b
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 0x1004eec0
mov ecx, dword [ebp - 0x28]
mov eax, edi
mov dword [0x10304c80], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004ef7a
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x10304c80], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004ef7a
mov eax, dword [0x10304c80]
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 [0x103098f4]
test al, 1
jne 0x1004f0df
or eax, 1
mov dword [0x103098f4], eax
mov dword [ebp - 4], 4
mov eax, dword [0x103030f8]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
je 0x1004efff
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004eff1
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004efc8
xor edx, edx
test ecx, ecx
je 0x1004eff1
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004efd5
cmp edi, 0x54aff69
je 0x1004f012
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
jne 0x1004efb5
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x103098c0], eax
jmp 0x1004f0e4
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004f0b8
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 0x1004f064
cmp dword [ecx + 4], 0
jle 0x1004f064
push 0
mov edx, 0x3775d33c
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004f061
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 [esi + ecx], 0
jne 0x1004f070
xor edx, edx
test ecx, ecx
je 0x1004f09c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f080
cmp edi, 0x3775d33c
je 0x1004f0c8
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 0x1004f030
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x103098c0], eax
jmp 0x1004f0e4
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x103098c0], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f0e4
mov eax, dword [0x103098c0]
mov ecx, dword [ebp - 0x14]
mov eax, dword [eax + ecx]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 8], eax
mov eax, dword [0x1030992c]
test al, 1
jne 0x1004f255
or eax, 1
mov dword [0x1030992c], eax
mov dword [ebp - 4], 5
mov eax, dword [0x103030f8]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
je 0x1004f16a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004f15c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004f133
xor edx, edx
test ecx, ecx
je 0x1004f15c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f140
cmp edi, 0x22961f03
je 0x1004f180
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
jne 0x1004f120
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [0x10309928], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f25a
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004f228
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 0x1004f1d4
cmp dword [ecx + 4], 0
jle 0x1004f1d4
push 0
mov edx, 0x6930d720
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004f1d1
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 [esi + ecx], 0
jne 0x1004f1e0
xor edx, edx
test ecx, ecx
je 0x1004f20c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f1f0
cmp edi, 0x6930d720
je 0x1004f23b
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 0x1004f1a0
mov ecx, dword [ebp - 0x10]
mov eax, edi
mov dword [0x10309928], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f25a
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
mov dword [0x10309928], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f25a
mov eax, dword [0x10309928]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx]
mov dword [ecx + 0xc], eax
mov eax, dword [0x103098f0]
test al, 1
jne 0x1004f3b0
or eax, 1
mov dword [0x103098f0], eax
mov dword [ebp - 4], 6
mov eax, dword [0x103030f8]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
je 0x1004f2da
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004f2cc
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004f2a3
xor edx, edx
test ecx, ecx
je 0x1004f2cc
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f2b0
cmp edi, 0x22961f03
je 0x1004f2f6
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
jne 0x1004f290
xor eax, eax
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x103098d4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f3b8
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004f398
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 0x1004f344
cmp dword [ecx + 4], 0
jle 0x1004f344
push 0
mov edx, 0x3222175
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004f341
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 [esi + ecx], 0
jne 0x1004f350
xor edx, edx
test ecx, ecx
je 0x1004f37c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f360
cmp edi, 0x3222175
je 0x1004f3a2
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 0x1004f310
mov eax, edi
mov dword [ebp - 0x24], edi
jmp 0x1004f2df
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x18]
jmp 0x1004f2dc
mov eax, dword [0x103098d4]
mov dword [ebp - 0x24], eax
mov eax, dword [eax + edx]
mov edx, dword [0x103098d8]
mov dword [ecx + 0x10], eax
test dl, 1
jne 0x1004f510
or edx, 1
mov dword [0x103098d8], edx
mov dword [ebp - 4], 7
mov eax, dword [0x103030f8]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
je 0x1004f43a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004f42c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x1004f403
xor edx, edx
test ecx, ecx
je 0x1004f42c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f410
cmp edi, 0x1eee87cc
je 0x1004f457
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
jne 0x1004f3f0
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x103098d8]
mov dword [0x10309920], ecx
jmp 0x1004f519
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004f4f8
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 0x1004f4a4
cmp dword [ecx + 4], 0
jle 0x1004f4a4
push 0
mov edx, 0x996ac90a
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004f4a1
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 0x1004f4b0
xor edx, edx
test ecx, ecx
je 0x1004f4dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f4c0
cmp edi, 0x996ac90a
je 0x1004f502
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 0x1004f470
mov ecx, edi
mov dword [ebp - 0x18], edi
jmp 0x1004f43f
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x1004f43c
mov ecx, dword [0x10309920]
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 0x1004f5b0
or edx, 1
mov dword [0x103098d8], edx
mov dword [ebp - 4], 8
mov eax, dword [0x103030f8]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
je 0x1004f59e
nop
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1004f590
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f563
xor edx, edx
test ecx, ecx
je 0x1004f590
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f570
cmp edi, 0x1eee87cc
je 0x1004f654
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
jne 0x1004f550
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov dword [0x10309920], 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 [0x103098ec]
test al, 1
jne 0x1004f7e5
or eax, 1
mov dword [0x103098ec], eax
mov dword [ebp - 4], 9
mov eax, dword [0x103030f8]
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
je 0x1004f63e
mov ecx, dword [eax]
mov dword [ebp - 0x2c], ecx
test ecx, ecx
je 0x1004f630
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax + eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f600
xor edx, edx
test ecx, ecx
je 0x1004f630
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f610
cmp edi, 0x1eee87cc
je 0x1004f710
mov eax, dword [ebp - 0x28]
add eax, 4
mov dword [ebp - 0x28], eax
cmp eax, dword [0x103030fc]
jne 0x1004f5e8
mov ecx, dword [ebp - 0x10]
xor eax, eax
mov dword [0x103098f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f7ea
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x28], edi
cmp dword [eax + 4], edi
jle 0x1004f6f8
xor ecx, ecx
mov dword [ebp - 0x20], 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 0x1004f6a4
cmp dword [ecx + 4], 0
jle 0x1004f6a4
push 0
mov edx, 0x996ac90a
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004f6a1
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 0x1004f6b0
xor edx, edx
test ecx, ecx
je 0x1004f6dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f6c0
cmp edi, 0x996ac90a
je 0x1004f702
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 0x1004f670
mov ecx, edi
mov dword [ebp - 0x18], edi
jmp 0x1004f5a3
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 0x2c]
add ecx, dword [ebp - 0x18]
jmp 0x1004f5a0
mov ecx, dword [ebp - 0x2c]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x28], edi
cmp dword [ecx + 4], edi
jle 0x1004f7b8
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 0x1004f765
cmp dword [ecx + 4], 0
jle 0x1004f765
push 0
mov edx, 0x82735d4f
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004f762
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 0x1004f770
xor edx, edx
test ecx, ecx
je 0x1004f79c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f780
cmp edi, 0x82735d4f
je 0x1004f7cb
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 0x1004f730
mov ecx, dword [ebp - 0x10]
mov eax, edi
mov dword [0x103098f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f7ea
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x10]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x20]
mov dword [0x103098f8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f7ea
mov eax, dword [0x103098f8]
mov edx, dword [ebp - 0x14]
mov eax, dword [eax + edx]
mov dword [ecx + 0x18], eax
mov eax, dword [0x103098b4]
test al, 1
jne 0x1004f93d
or eax, 1
mov dword [0x103098b4], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x103030f8]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103030fc]
je 0x1004f86a
nop
mov ecx, dword [eax]
mov dword [ebp - 0x28], ecx
test ecx, ecx
je 0x1004f85c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f833
xor edx, edx
test ecx, ecx
je 0x1004f85c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f840
cmp edi, 0x1eee87cc
je 0x1004f886
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103030fc]
jne 0x1004f820
xor eax, eax
mov ecx, dword [ebp - 0x10]
add eax, 4
mov edx, dword [ebp - 0x14]
mov dword [0x10309924], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004f942
mov ecx, dword [ebp - 0x28]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [ecx + 4], edi
jle 0x1004f928
xor eax, eax
mov dword [ebp - 0x20], eax
nop
mov esi, dword [ecx]
mov ecx, dword [esi + eax + 0x28]
add esi, eax
mov dword [ebp - 0x38], esi
test ecx, ecx
je 0x1004f8d5
cmp dword [ecx + 4], 0
jle 0x1004f8d5
push 0
mov edx, 0x82735d4f
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004f8d2
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 0x1004f8e0
xor edx, edx
test ecx, ecx
je 0x1004f90c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f8f0
cmp edi, 0x82735d4f
je 0x1004f92f
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 0x1004f8a0
mov eax, edi
jmp 0x1004f86c
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1004f86c
mov eax, dword [0x10309924]
mov eax, dword [eax + edx]
mov dword [ecx + 0x1c], eax
mov eax, dword [0x103098c4]
test al, 1
jne 0x1004fa8d
or eax, 1
mov dword [0x103098c4], eax
mov dword [ebp - 4], 0xb
mov eax, dword [0x103030f8]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103030fc]
je 0x1004f9be
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1004f9b0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004f987
xor edx, edx
test ecx, ecx
je 0x1004f9b0
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004f994
cmp edi, 0x54aff69
je 0x1004f9d7
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103030fc]
jne 0x1004f974
xor eax, eax
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov dword [0x103098c8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004fa92
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x1004fa78
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004fa24
cmp dword [ecx + 4], 0
jle 0x1004fa24
push 0
mov edx, 0xc77829f
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004fa21
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 dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004fa30
xor edx, edx
test ecx, ecx
je 0x1004fa5c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004fa40
cmp edi, 0xc77829f
je 0x1004fa7f
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x1004f9f0
mov eax, edi
jmp 0x1004f9c0
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1004f9c0
mov eax, dword [0x103098c8]
mov eax, dword [eax + edx]
mov dword [ecx + 0x20], eax
mov eax, dword [0x10309908]
test al, 1
jne 0x1004fbdd
or eax, 1
mov dword [0x10309908], eax
mov dword [ebp - 4], 0xc
mov eax, dword [0x103030f8]
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103030fc]
je 0x1004fb0e
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x1004fb00
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004fad7
xor edx, edx
test ecx, ecx
je 0x1004fb00
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004fae4
cmp edi, 0x54aff69
je 0x1004fb2a
mov eax, dword [ebp - 0x2c]
add eax, 4
mov dword [ebp - 0x2c], eax
cmp eax, dword [0x103030fc]
jne 0x1004fac4
xor eax, eax
mov ecx, dword [ebp - 0x10]
add eax, 0x30
mov edx, dword [ebp - 0x14]
mov dword [0x103098e8], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x1004fbe2
mov eax, dword [ebp - 0x20]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x2c], edi
cmp dword [eax + 4], edi
jle 0x1004fbc8
xor ecx, ecx
mov dword [ebp - 0x28], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x38], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1004fb77
cmp dword [ecx + 4], 0
jle 0x1004fb77
push 0
mov edx, 0x3775d33c
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004fb74
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 0x1004fb80
xor edx, edx
test ecx, ecx
je 0x1004fbac
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004fb90
cmp edi, 0x3775d33c
je 0x1004fbcf
mov eax, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x28], ecx
cmp edx, dword [eax + 4]
jl 0x1004fb43
mov eax, edi
jmp 0x1004fb10
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
jmp 0x1004fb10
mov eax, dword [0x103098e8]
mov eax, dword [eax + edx]
mov dword [ecx + 0x24], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x38], 0
je 0x1004fefa
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 0x1004fefa
mov eax, dword [0x103098d8]
test al, 1
jne 0x1004fd85
or eax, 1
mov dword [0x103098d8], eax
mov dword [ebp - 4], 0xd
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1004fcbc
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x1004fcae
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004fc85
xor edx, edx
test ecx, ecx
je 0x1004fcae
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004fc92
cmp edi, 0x1eee87cc
je 0x1004fcd0
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1004fc72
xor edi, edi
mov dword [0x10309920], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1004fd88
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1004fcbe
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 0x1004fd19
cmp dword [ecx + 4], 0
jle 0x1004fd19
push 0
mov edx, 0x996ac90a
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004fd16
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 [ecx + esi], 0
jne 0x1004fd22
xor edx, edx
test ecx, ecx
je 0x1004fd4c
nop
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004fd30
cmp edi, 0x996ac90a
je 0x1004fd6d
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 0x1004fcbe
jmp 0x1004fce5
mov eax, dword [ebp - 0x38]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x20]
mov dword [0x10309920], edi
mov dword [ebp - 4], 0xffffffff
jmp 0x1004fd88
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x50]
cmp eax, dword [edi + ecx]
je 0x1004fefa
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 0x1004fefa
mov eax, dword [0x103098f0]
mov dword [edx + 0x10], ecx
test al, 1
jne 0x1004fef1
or eax, 1
mov dword [0x103098f0], eax
mov dword [ebp - 4], 0xe
mov eax, dword [0x103030f8]
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
je 0x1004fe2c
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
test ecx, ecx
je 0x1004fe1e
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x1004fdf5
xor edx, edx
test ecx, ecx
je 0x1004fe1e
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004fe02
cmp edi, 0x22961f03
je 0x1004fe3c
mov eax, dword [ebp - 0x30]
add eax, 4
mov dword [ebp - 0x30], eax
cmp eax, dword [0x103030fc]
jne 0x1004fde2
xor edi, edi
mov ecx, dword [ebp - 0x34]
mov dword [0x103098d4], edi
jmp 0x1004fef4
mov eax, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x30], edi
cmp dword [eax + 4], edi
jle 0x1004fe2e
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 0x1004fe85
cmp dword [ecx + 4], 0
jle 0x1004fe85
push 0
mov edx, 0x3222175
call fcn.10115470
add esp, 4
test eax, eax
je 0x1004fe82
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 0x1004fe90
xor edx, edx
test ecx, ecx
je 0x1004febc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x1004fea0
cmp edi, 0x3222175
je 0x1004fedd
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 0x1004fe2e
jmp 0x1004fe51
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov edi, dword [eax + 0x2c]
add edi, dword [ebp - 0x20]
mov dword [0x103098d4], edi
jmp 0x1004fef4
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