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

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103a7a4f
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x88
push esi
push edi
mov eax, dword [0x1049b0c0]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov ecx, dword [eax + 0x154]
mov dword [ebp - 0x18], ecx
test ecx, ecx
je 0x10232a43
mov eax, dword [0x10541630]
test al, 1
jne 0x10231a75
or eax, 1
mov dword [0x10541630], eax
mov dword [ebp - 4], 0
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x14], eax
cmp eax, dword [0x1053ebbc]
je 0x1023198a
nop word [eax + eax]
mov ecx, dword [eax]
mov dword [ebp - 0x1c], ecx
test ecx, ecx
je 0x1023197c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10231953
xor edx, edx
test ecx, ecx
je 0x1023197c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231960
cmp edi, 0x4e9f1122
je 0x102319a0
mov eax, dword [ebp - 0x14]
add eax, 4
mov dword [ebp - 0x14], eax
cmp eax, dword [0x1053ebbc]
jne 0x10231940
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov dword [0x10541634], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10231a7a
mov eax, dword [ebp - 0x1c]
xor edi, edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x34], edi
cmp dword [eax + 4], edi
jle 0x10231a48
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x102319f4
cmp dword [ecx + 4], 0
jle 0x102319f4
push 0
mov edx, 0x1c93bcf0
call fcn.10238b60
add esp, 4
test eax, eax
je 0x102319f1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x14], 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 0x10231a00
xor edx, edx
test ecx, ecx
je 0x10231a2c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231a10
cmp edi, 0x1c93bcf0
je 0x10231a5b
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x14]
add ecx, 0x3c
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x102319c0
mov ecx, dword [ebp - 0x18]
mov eax, edi
mov dword [0x10541634], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10231a7a
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x14]
mov dword [0x10541634], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10231a7a
mov eax, dword [0x10541634]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x24], eax
mov eax, dword [0x10544908]
test al, 1
jne 0x10231be5
or eax, 1
mov dword [0x10544908], eax
mov dword [ebp - 4], 1
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1053ebbc]
je 0x10231afa
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10231aec
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10231ac3
xor edx, edx
test ecx, ecx
je 0x10231aec
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231ad0
cmp edi, 0x72e242a1
je 0x10231b10
mov eax, dword [ebp - 0x20]
add eax, 4
mov dword [ebp - 0x20], eax
cmp eax, dword [0x1053ebbc]
jne 0x10231ab0
mov ecx, dword [ebp - 0x18]
xor eax, eax
mov dword [0x105446c4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10231bea
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x20], edi
cmp dword [eax + 4], edi
jle 0x10231bb8
xor ecx, ecx
mov dword [ebp - 0x34], ecx
nop dword [eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x28], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10231b64
cmp dword [ecx + 4], 0
jle 0x10231b64
push 0
mov edx, 0x84cdad2
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10231b61
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10231b70
xor edx, edx
test ecx, ecx
je 0x10231b9c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231b80
cmp edi, 0x84cdad2
je 0x10231bcb
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x34]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x34], ecx
cmp edx, dword [eax + 4]
jl 0x10231b30
mov ecx, dword [ebp - 0x18]
mov eax, edi
mov dword [0x105446c4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10231bea
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x18]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
mov dword [0x105446c4], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10231bea
mov eax, dword [0x105446c4]
cmp dword [ebp - 0x24], 2
je 0x10232a43
cmp dword [ecx + eax], 0
jle 0x10232a43
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x10232a43
mov edx, dword [0x10541658]
test dl, 1
jne 0x10231d6d
or edx, 1
mov dword [0x10541658], edx
mov dword [ebp - 4], 2
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x10231c9a
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10231c8c
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10231c63
xor edx, edx
test ecx, ecx
je 0x10231c8c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231c70
cmp edi, 0xcd2ed041
je 0x10231cb7
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x10231c50
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10541658]
mov dword [0x10544910], ecx
jmp 0x10231d73
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x10231d58
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10231d04
cmp dword [ecx + 4], 0
jle 0x10231d04
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10231d01
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x10231d10
xor edx, edx
test ecx, ecx
je 0x10231d3c
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231d20
cmp edi, 0xa2ccb41a
je 0x10231d5f
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10231cd0
mov ecx, edi
jmp 0x10231c9c
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x1c]
jmp 0x10231c9c
mov ecx, dword [0x10544910]
movzx eax, word [eax + ecx]
cmp ax, 0xb
je 0x10231d87
mov byte [ebp - 0x2a], 0
cmp ax, 0x26
jne 0x10231d8b
mov byte [ebp - 0x2a], 1
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x28], eax
test dl, 1
jne 0x10231e36
or edx, 1
mov dword [0x10541658], edx
mov dword [ebp - 4], 3
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x10231e1e
nop dword [eax]
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10231e10
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10231de3
xor edx, edx
test ecx, ecx
je 0x10231e10
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231df0
cmp edi, 0xcd2ed041
je 0x10232057
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x10231dd0
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10541658]
mov dword [0x10544910], ecx
cmp word [eax + ecx], 1
mov eax, dword [0x11b92250]
sete byte [ebp - 0x35]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x28], eax
test dl, 1
jne 0x10231ee6
or edx, 1
mov dword [0x10541658], edx
mov dword [ebp - 4], 4
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x10231ece
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10231ec0
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10231e93
xor edx, edx
test ecx, ecx
je 0x10231ec0
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231ea0
cmp edi, 0xcd2ed041
je 0x1023210d
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x10231e80
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10541658]
mov dword [0x10544910], ecx
cmp word [eax + ecx], 0x40
mov eax, dword [0x11b92250]
sete byte [ebp - 0x36]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x34], eax
test dl, 1
jne 0x10231f90
or edx, 1
mov dword [0x10541658], edx
mov dword [ebp - 4], 5
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x10231f7e
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10231f70
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10231f43
xor edx, edx
test ecx, ecx
je 0x10231f70
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10231f50
cmp edi, 0xcd2ed041
je 0x102321bd
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x10231f30
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x34]
mov dword [0x10544910], ecx
movzx esi, word [eax + ecx]
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov ecx, dword [eax + 0x110]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x10232350
cmp dword [eax + 0xc8], 1
jne 0x10232350
mov eax, dword [0x10541658]
test al, 1
jne 0x10232331
or eax, 1
mov dword [0x10541658], eax
mov dword [ebp - 4], 6
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x10232043
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10232035
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10232008
xor edx, edx
test ecx, ecx
je 0x10232035
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10232015
cmp edi, 0xcd2ed041
je 0x1023226d
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x10231ff5
xor ecx, ecx
mov dword [ebp - 4], 0xffffffff
mov dword [0x10544910], ecx
jmp 0x10232337
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x102320f8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x102320a4
cmp dword [ecx + 4], 0
jle 0x102320a4
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x102320a1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [esi + ecx], 0
jne 0x102320b0
xor edx, edx
test ecx, ecx
je 0x102320dc
nop dword [eax]
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x102320c0
cmp edi, 0xa2ccb41a
je 0x102320ff
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10232070
mov ecx, edi
jmp 0x10231e20
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x1c]
jmp 0x10231e20
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x102321a8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1023215a
cmp dword [ecx + 4], 0
jle 0x1023215a
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10232157
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10232163
xor edx, edx
test ecx, ecx
je 0x1023218c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10232170
cmp edi, 0xa2ccb41a
je 0x102321af
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10232126
mov ecx, edi
jmp 0x10231ed0
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x1c]
jmp 0x10231ed0
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x10232258
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1023220a
cmp dword [ecx + 4], 0
jle 0x1023220a
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10232207
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [esi + ecx], 0
jne 0x10232213
xor edx, edx
test ecx, ecx
je 0x1023223c
movsx eax, byte [esi + edx]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10232220
cmp edi, 0xa2ccb41a
je 0x1023225f
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x102321d6
mov ecx, edi
jmp 0x10231f80
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x1c]
jmp 0x10231f80
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x10232308
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x102322ba
cmp dword [ecx + 4], 0
jle 0x102322ba
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x102322b7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x102322c3
xor edx, edx
test ecx, ecx
je 0x102322ec
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x102322d0
cmp edi, 0xa2ccb41a
je 0x10232319
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10232286
mov ecx, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10544910], ecx
jmp 0x10232337
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x1c]
mov dword [0x10544910], ecx
mov dword [ebp - 4], 0xffffffff
jmp 0x10232337
mov ecx, dword [0x10544910]
mov eax, dword [ebp - 0x34]
movzx eax, word [eax + ecx]
cmp ax, 1
je 0x10232356
cmp ax, 0x40
je 0x10232356
mov byte [ebp - 0x29], 1
jmp 0x1023235a
mov ecx, dword [0x10544910]
mov byte [ebp - 0x29], 0
mov eax, dword [0x11b92250]
mov edx, dword [0x10541658]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x28], eax
test dl, 1
jne 0x10232407
or edx, 1
mov dword [0x10541658], edx
mov dword [ebp - 4], 7
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x102323ef
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x102323e1
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x102323b4
xor edx, edx
test ecx, ecx
je 0x102323e1
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x102323c1
cmp edi, 0xcd2ed041
je 0x10232652
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x102323a1
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10541658]
mov dword [0x10544910], ecx
cmp word [eax + ecx], 0x28
mov eax, dword [0x11b92250]
sete byte [ebp - 0x37]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x28], eax
test dl, 1
jne 0x102324b7
or edx, 1
mov dword [0x10541658], edx
mov dword [ebp - 4], 8
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x1023249f
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10232491
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10232464
xor edx, edx
test ecx, ecx
je 0x10232491
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10232471
cmp edi, 0xcd2ed041
je 0x1023270d
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x10232451
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [ebp - 4], 0xffffffff
mov edx, dword [0x10541658]
mov dword [0x10544910], ecx
cmp word [eax + ecx], 9
mov eax, dword [0x11b92250]
sete byte [ebp - 0x38]
add eax, 0xc6c19814
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x28], eax
test dl, 1
jne 0x10232561
or edx, 1
mov dword [0x10541658], edx
mov dword [ebp - 4], 9
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x1023254f
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10232541
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10232514
xor edx, edx
test ecx, ecx
je 0x10232541
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10232521
cmp edi, 0xcd2ed041
je 0x102327b9
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x10232501
xor ecx, ecx
mov eax, dword [ebp - 0x28]
mov dword [0x10544910], ecx
mov dword [ebp - 4], 0xffffffff
movzx esi, word [eax + ecx]
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov ecx, dword [eax + 0x110]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
mov al, byte [ebp - 0x2a]
mov byte [ebp - 0x33], al
mov al, byte [ebp - 0x35]
mov byte [ebp - 0x32], al
mov al, byte [ebp - 0x36]
mov byte [ebp - 0x31], al
mov al, byte [ebp - 0x29]
mov byte [ebp - 0x30], al
mov al, byte [ebp - 0x37]
mov byte [ebp - 0x2f], al
mov al, byte [ebp - 0x38]
mov byte [ebp - 0x2e], al
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
mov byte [ebp - 0x34], 0
xor eax, 0x26996288
mov eax, dword [eax + 0x158]
mov dword [ebp - 0x28], eax
mov eax, dword [0x10541658]
test al, 1
jne 0x1023292b
or eax, 1
mov dword [0x10541658], eax
mov dword [ebp - 4], 0xa
mov eax, dword [0x1053ebb8]
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
je 0x1023263f
mov ecx, dword [eax]
mov dword [ebp - 0x14], ecx
test ecx, ecx
je 0x10232631
mov esi, dword [ecx + 0xc]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10232604
xor edx, edx
test ecx, ecx
je 0x10232631
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10232611
cmp edi, 0xcd2ed041
je 0x1023286d
mov eax, dword [ebp - 0x18]
add eax, 4
mov dword [ebp - 0x18], eax
cmp eax, dword [0x1053ebbc]
jne 0x102325f1
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x10544910], eax
jmp 0x10232930
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x102326f8
xor ecx, ecx
mov dword [ebp - 0x20], ecx
nop dword [eax + eax]
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x102326a4
cmp dword [ecx + 4], 0
jle 0x102326a4
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x102326a1
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop dword [eax]
inc ecx
cmp byte [ecx + esi], 0
jne 0x102326b0
xor edx, edx
test ecx, ecx
je 0x102326dc
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x102326c0
cmp edi, 0xa2ccb41a
je 0x102326ff
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10232670
mov ecx, edi
jmp 0x102323f1
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x1c]
jmp 0x102323f1
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x102327a4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x1023275a
cmp dword [ecx + 4], 0
jle 0x1023275a
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10232757
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x10232763
xor edx, edx
test ecx, ecx
je 0x1023278c
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10232770
cmp edi, 0xa2ccb41a
je 0x102327ab
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10232726
mov ecx, edi
jmp 0x102324a1
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x1c]
jmp 0x102324a1
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x10232858
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x10232806
cmp dword [ecx + 4], 0
jle 0x10232806
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x10232803
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
nop
inc ecx
cmp byte [ecx + esi], 0
jne 0x10232810
xor edx, edx
test ecx, ecx
je 0x1023283c
nop dword [eax]
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x10232820
cmp edi, 0xa2ccb41a
je 0x1023285f
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x102327d2
mov ecx, edi
jmp 0x10232551
mov ecx, dword [ebp - 0x24]
mov ecx, dword [ecx + 0x2c]
add ecx, dword [ebp - 0x1c]
jmp 0x10232551
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
cmp dword [eax + 4], edi
jle 0x10232904
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov esi, dword [eax]
add esi, ecx
mov dword [ebp - 0x24], esi
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x102328ba
cmp dword [ecx + 4], 0
jle 0x102328ba
push 0
mov edx, 0xa2ccb41a
call fcn.10238b60
add esp, 4
test eax, eax
je 0x102328b7
mov ecx, dword [esi + 0x2c]
add ecx, eax
add edi, ecx
mov dword [ebp - 0x1c], edi
mov eax, dword [ebp - 0x14]
mov esi, dword [esi]
mov edi, 0x811c9dc5
xor ecx, ecx
inc ecx
cmp byte [ecx + esi], 0
jne 0x102328c3
xor edx, edx
test ecx, ecx
je 0x102328ec
movsx eax, byte [edx + esi]
inc edx
xor eax, edi
imul edi, eax, 0x1000193
cmp edx, ecx
jb 0x102328d0
cmp edi, 0xa2ccb41a
je 0x10232914
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x20]
inc edx
mov edi, dword [ebp - 0x1c]
add ecx, 0x3c
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], ecx
cmp edx, dword [eax + 4]
jl 0x10232886
mov eax, edi
mov dword [ebp - 4], 0xffffffff
mov dword [0x10544910], eax
jmp 0x10232930
mov eax, dword [ebp - 0x24]
mov eax, dword [eax + 0x2c]
add eax, dword [ebp - 0x1c]
mov dword [0x10544910], eax
mov dword [ebp - 4], 0xffffffff
jmp 0x10232930
mov eax, dword [0x10544910]
mov ecx, dword [ebp - 0x28]
movzx eax, word [ecx + eax]
mov edi, eax
mov esi, eax
mov eax, dword [0x11b92250]
add eax, 0xc6c19814
xor eax, 0x26996288
mov ecx, dword [eax + 0x110]
mov eax, dword [ecx]
mov edx, dword [eax + 8]
movsx eax, si
push eax
call edx
test eax, eax
je 0x102329aa
cmp di, 0x1f
jne 0x102329aa
mov eax, dword [ebx + 8]
movups xmm0, xmmword [0x1045f728]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1045f738]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1045f748]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x1045f758]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [0x1045f768]
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [0x1045f778]
jmp 0x10232ae5
mov eax, 1
mov ecx, 0x1051f9ac
cmp byte [ebp + eax - 0x34], 0
je 0x102329c0
cmp byte [ecx], 0
jne 0x10232a11
add ecx, 0x60
inc eax
cmp ecx, 0x1051fbec
jl 0x102329b4
mov eax, dword [ebx + 8]
movups xmm0, xmmword [0x1051f94c]
movups xmmword [eax], xmm0
movups xmm0, xmmword [0x1051f95c]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [0x1051f96c]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [0x1051f97c]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [0x1051f98c]
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [0x1051f99c]
jmp 0x10232ae5
mov eax, dword [ebx + 8]
movups xmm0, xmmword [ecx]
movups xmmword [eax], xmm0
movups xmm0, xmmword [ecx + 0x10]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [ecx + 0x20]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ecx + 0x30]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [ecx + 0x40]
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [ecx + 0x50]
jmp 0x10232ae5
movaps xmm0, xmmword [0x1046f660]
mov eax, dword [ebx + 8]
movups xmmword [ebp - 0x90], xmm0
mov dword [ebp - 0x98], 0
movaps xmm0, xmmword [0x1046f580]
movups xmmword [ebp - 0x80], xmm0
mov byte [ebp - 0x94], 0
xorps xmm0, xmm0
mov dword [ebp - 0x70], 0
movups xmmword [ebp - 0x50], xmm0
mov dword [ebp - 0x6c], 0
movq qword [ebp - 0x40], xmm0
movups xmm0, xmmword [ebp - 0x98]
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
movups xmmword [eax], xmm0
mov dword [ebp - 0x60], 0
movups xmm0, xmmword [ebp - 0x88]
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x58], 3
movups xmmword [eax + 0x10], xmm0
mov dword [ebp - 0x54], 0
movups xmm0, xmmword [ebp - 0x78]
movups xmmword [eax + 0x20], xmm0
movups xmm0, xmmword [ebp - 0x68]
movups xmmword [eax + 0x30], xmm0
movups xmm0, xmmword [ebp - 0x58]
movups xmmword [eax + 0x40], xmm0
movups xmm0, xmmword [ebp - 0x48]
movups xmmword [eax + 0x50], xmm0
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret