Function at 0x9d7820
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xa97230
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x32c
push esi
push edi
mov dword [ebp - 0xb4], edx
mov byte [ebp - 0xe], cl
mov dword [ebp - 4], 3
mov eax, dword [0xac55d4]
test al, 1
jne 0x9d78a4
or eax, 1
mov dword [0xac55d4], eax
mov byte [ebp - 4], 4
push 0x2c
mov dword [0xac560c], 0
mov dword [0xac5610], 0
call fcn.00a6bfb1
push 0xa9ab40
mov dword [eax], eax
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
mov dword [0xac560c], eax
call fcn.00a6c21d
add esp, 8
mov byte [ebp - 4], 3
cmp dword [ebp + 0x34], 0x10
lea esi, [ebp + 0x20]
push 0xac5230
cmovae esi, dword [ebp + 0x20]
call fcn.00a6b533
add esp, 4
test eax, eax
jne 0x9d8a82
test esi, esi
je 0x9d7907
mov ecx, esi
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d78d0
sub ecx, edx
je 0x9d7907
push esi
nop
nop
nop
nop
nop
nop
cmp eax, 0xffffffff
jne 0x9d7901
nop
nop
nop
nop
nop
nop
cmp eax, 0x44
je 0x9d7901
cmp eax, 0x20
je 0x9d7901
cmp eax, 0x45
je 0x9d7901
cmp eax, 0x24
jne 0x9d7907
mov byte [ebp - 0xd], 1
jmp 0x9d790b
mov byte [ebp - 0xd], 0
push 0xac5230
call fcn.00a6b544
xor eax, eax
add esp, 4
mov dword [ebp - 0x64], eax
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00a00610
mov esi, dword [ebp - 0xb8]
cmp byte [esi + 0xd], 0
jne 0x9d797c
cmp dword [esi + 0x24], 0x10
lea eax, [esi + 0x10]
mov edx, dword [eax + 0x10]
jb 0x9d7947
mov eax, dword [eax]
cmp dword [ebp + 0x34], 0x10
lea ecx, [ebp + 0x20]
push edx
cmovae ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x30]
push eax
call fcn.009fa4d0
shr eax, 0x1f
add esp, 8
test al, al
jne 0x9d797c
cmp esi, dword [0xac560c]
je 0x9d797c
lea eax, [ebp + 0x20]
push eax
call fcn.009f17a0
mov eax, dword [eax]
mov dword [ebp - 0x64], eax
cmp byte [ebp - 0xe], 0
je 0x9d7cf8
mov eax, dword [ebp + 0x38]
cmp dword [eax], 0xa00000
jae 0x9d88db
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.009f5110
push 0
mov dl, 1
lea ecx, [ebp - 0x70]
call fcn.009afcc0
add esp, 0x1c
xor ecx, ecx
mov byte [ebp - 4], 5
mov esi, dword [ebp - 0x70]
mov eax, 0x2aaaaaab
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x6c]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x9d7cec
xor edi, edi
nop dword [eax]
mov eax, dword [ebp + 0x38]
cmp dword [eax], 0xa00000
jae 0x9d7cec
sub esp, 0x18
lea eax, [esi + edi]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.009f5110
sub esp, 0xc
mov byte [ebp - 4], 6
lea eax, [ebp + 0x3c]
mov ecx, esp
push eax
call fcn.009f3e50
mov byte [ebp - 4], 5
call fcn.009d75d0
add esp, 0x24
test al, al
jne 0x9d7cc4
cmp byte [ebp - 0xd], al
jne 0x9d7a43
cmp dword [ebp + 0x34], 0x10
lea eax, [ebp + 0x20]
push 0
cmovae eax, dword [ebp + 0x20]
push eax
nop
nop
nop
nop
nop
nop
mov byte [ebp - 0xd], 1
mov esi, dword [ebp - 0x70]
lea ecx, [ebp - 0x1b]
add esi, edi
mov word [ebp - 0x1b], 0x5c
mov byte [ebp - 0x19], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d7a58
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp + 0x30]
sub eax, edx
cmp eax, ecx
jb 0x9d8a88
cmp dword [ebp + 0x34], 0x10
lea eax, [ebp + 0x20]
push ecx
cmovae eax, dword [ebp + 0x20]
lea ecx, [ebp - 0x1b]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x54]
call fcn.009fca20
push esi
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 7
call fcn.009f4e90
mov dword [ebp - 0xc8], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xd8], xmm0
mov dword [ebp - 0xc4], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xd8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0xc8], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x9d7b1c
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d7b12
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
cmp dword [ebp - 0xc4], 0x10
lea eax, [ebp - 0xd8]
push 0
cmovae eax, dword [ebp - 0xd8]
push eax
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x70]
lea ecx, [ebp - 0x1e]
add eax, edi
mov word [ebp - 0x1e], 0x5c
mov dword [ebp - 0x90], eax
lea edx, [ecx + 1]
mov byte [ebp - 0x1c], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d7b66
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp + 0x18]
sub eax, edx
cmp eax, ecx
jb 0x9d8a88
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
push ecx
cmovae eax, dword [ebp + 8]
lea ecx, [ebp - 0x1e]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x38]
call fcn.009fca20
sub esp, 0xc
mov byte [ebp - 4], 0xa
lea eax, [ebp + 0x48]
mov dword [ebp - 0x14], esp
mov ecx, esp
push eax
call fcn.009f3e50
sub esp, 0xc
mov byte [ebp - 4], 0xb
lea eax, [ebp + 0x3c]
mov dword [ebp - 0x3c], esp
mov ecx, esp
push eax
call fcn.009f3e50
push dword [ebp + 0x38]
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0xd8]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x94], esp
push eax
call fcn.009f5110
sub esp, 0x18
mov byte [ebp - 4], 0xd
mov esi, esp
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x74], esi
push dword [ebp - 0x90]
call fcn.009f4e90
mov edx, dword [ebp - 0xb4]
xorps xmm0, xmm0
mov cl, byte [ebp - 0xe]
movups xmmword [esi], xmm0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
movups xmm0, xmmword [eax]
movups xmmword [esi], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [esi + 0x10], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0xa
call fcn.009d7820
add dword [ebp - 0x64], eax
add esp, 0x4c
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x9d7c86
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d7c7c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xc4]
cmp ecx, 0x10
jb 0x9d7cc4
mov edx, dword [ebp - 0xd8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d7cba
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov ecx, dword [ebp - 0x6c]
mov eax, 0x2aaaaaab
mov esi, dword [ebp - 0x70]
add edi, 0x18
inc dword [ebp - 0x18]
sub ecx, esi
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp - 0x18], eax
jb 0x9d79e0
lea ecx, [ebp - 0x70]
mov byte [ebp - 4], 3
call fcn.009f7300
mov eax, dword [ebp + 0x38]
cmp dword [eax], 0xa00000
jae 0x9d88db
sub esp, 0x18
lea eax, [ebp + 8]
mov ecx, esp
push eax
call fcn.009f5110
push 0
xor dl, dl
lea ecx, [ebp - 0xc0]
call fcn.009afcc0
add esp, 0x1c
mov byte [ebp - 4], 0xe
mov eax, 0x2aaaaaab
mov ecx, dword [ebp - 0xbc]
xor esi, esi
mov edi, dword [ebp - 0xc0]
sub ecx, edi
imul ecx
mov dword [ebp - 0x90], esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x9d88cc
nop dword [eax + eax]
mov eax, dword [ebp + 0x38]
cmp dword [eax], 0xa00000
jae 0x9d88cc
lea esi, [esi + esi*2]
sub esp, 0x18
shl esi, 3
mov ecx, esp
mov dword [ebp - 0x14], esp
lea eax, [edi + esi]
push eax
call fcn.009f5110
sub esp, 0xc
mov byte [ebp - 4], 0xf
lea eax, [ebp + 0x3c]
mov ecx, esp
push eax
call fcn.009f3e50
mov byte [ebp - 4], 0xe
call fcn.009d75d0
add esp, 0x24
test al, al
jne 0x9d8898
mov edi, dword [ebp - 0xc0]
lea ecx, [ebp - 0x1e]
add edi, esi
mov word [ebp - 0x1e], 0x5c
mov byte [ebp - 0x1c], al
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d7dc3
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp + 0x30]
sub eax, edx
cmp eax, ecx
jb 0x9d8a88
cmp dword [ebp + 0x34], 0x10
lea eax, [ebp + 0x20]
push ecx
cmovae eax, dword [ebp + 0x20]
lea ecx, [ebp - 0x1e]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x54]
call fcn.009fca20
push edi
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x10
call fcn.009f4e90
mov dword [ebp - 0x9c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0xac], xmm0
mov dword [ebp - 0x98], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0xac], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x9c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x9d7e87
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d7e7d
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov ecx, dword [ebp + 0x4c]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp + 0x48]
imul ecx
mov dword [ebp - 0x44], 0
sar edx, 2
mov eax, edx
mov dword [ebp - 0x40], 0xf
shr eax, 0x1f
mov byte [ebp - 0x54], 0
add eax, edx
je 0x9d7eec
sub esp, 0x18
lea eax, [ebp - 0xac]
mov ecx, esp
mov dword [ebp - 0x14], esp
push eax
call fcn.009f5110
sub esp, 0xc
mov byte [ebp - 4], 0x13
lea eax, [ebp + 0x48]
mov ecx, esp
push eax
call fcn.009f3e50
mov byte [ebp - 4], 0x12
call fcn.009d7680
add esp, 0x24
test al, al
je 0x9d885a
add esi, dword [ebp - 0xc0]
lea ecx, [ebp - 0x1b]
mov word [ebp - 0x1b], 0x5c
lea edx, [ecx + 1]
mov byte [ebp - 0x19], 0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d7f02
sub ecx, edx
mov eax, 0x7fffffff
mov edx, dword [ebp + 0x18]
sub eax, edx
cmp eax, ecx
jb 0x9d8a88
cmp dword [ebp + 0x1c], 0x10
lea eax, [ebp + 8]
push ecx
cmovae eax, dword [ebp + 8]
lea ecx, [ebp - 0x1b]
push ecx
push edx
push eax
push ecx
push dword [ebp - 0x14]
lea ecx, [ebp - 0x38]
call fcn.009fca20
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x14
call fcn.009f4e90
mov dword [ebp - 0x7c], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x8c], xmm0
mov dword [ebp - 0x78], 0
movups xmm0, xmmword [eax]
movups xmmword [ebp - 0x8c], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebp - 0x7c], xmm0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0xf
mov byte [eax], 0
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x10
jb 0x9d7fbd
mov edx, dword [ebp - 0x38]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d7fb3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
sub esp, 0x18
mov dword [ebp - 0x28], 0
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x24], 0xf
mov ecx, esp
mov byte [ebp - 0x38], 0
push eax
call fcn.009f5110
call fcn.0099b6f0
add esp, 0x18
mov dword [ebp - 0x18], eax
test eax, eax
je 0x9d880a
cmp eax, dword [ebp - 0xb4]
ja 0x9d880a
cmp byte [ebp - 0xd], 0
jne 0x9d801d
cmp dword [ebp + 0x34], 0x10
lea eax, [ebp + 0x20]
push 0
cmovae eax, dword [ebp + 0x20]
push eax
nop
nop
nop
nop
nop
nop
mov byte [ebp - 0xd], 1
mov dword [ebp - 0x5a], 0x1a1e0340
xor ecx, ecx
mov word [ebp - 0x56], 0x100
nop dword [eax]
mov al, cl
add al, 0x6e
xor byte [ebp + ecx - 0x5a], al
inc ecx
cmp ecx, 4
jb 0x9d8030
lea edx, [ebp - 0x5a]
mov byte [ebp - 0x55], 0
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x9d8048
mov esi, dword [ebp - 0x78]
lea eax, [ebp - 0x5a]
mov edi, dword [ebp - 0x8c]
sub edx, ecx
push edx
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x8c]
cmp esi, 0x10
push eax
cmovae ecx, edi
push ecx
call fcn.009fa5c0
add esp, 0xc
cmp eax, 0xffffffff
je 0x9d87d1
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x54], xmm0
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x24], 0xf
mov word [ebp - 0x38], 0x2f
lea eax, [ebp - 0x38]
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0x7c]
lea ecx, [ebp - 0x8c]
push 1
cmp esi, 0x10
push eax
cmovae ecx, edi
push 0
call fcn.009fa650
add esp, 0xc
cmp eax, 0xffffffff
je 0x9d80f6
push 0
lea ecx, [ebp - 0x54]
push ecx
push 1
push eax
lea ecx, [ebp - 0x8c]
call fcn.009f7870
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x8c]
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x9d8137
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d8124
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
mov esi, dword [ebp - 0x78]
add esp, 8
mov edi, dword [ebp - 0x8c]
push 0
push 0
cmp esi, 0x10
lea eax, [ebp - 0x8c]
push 0xffffffffffffffff
cmovae eax, edi
mov edi, dword [0xa9b070]
push eax
push 0
push 0x4e3
call edi
mov esi, eax
xorps xmm0, xmm0
xor eax, eax
test esi, esi
jle 0x9d81c8
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], 7
mov word [ebp - 0x38], ax
push eax
push esi
lea ecx, [ebp - 0x38]
mov byte [ebp - 4], 0x19
call fcn.009f76a0
cmp dword [ebp - 0x24], 8
lea ecx, [ebp - 0x38]
push esi
cmovae ecx, dword [ebp - 0x38]
lea eax, [ebp - 0x8c]
cmp dword [ebp - 0x78], 0x10
push ecx
cmovae eax, dword [ebp - 0x8c]
push 0xffffffffffffffff
push eax
push 0
push 0x4e3
call edi
movups xmm0, xmmword [ebp - 0x38]
movups xmmword [ebp - 0xf4], xmm0
movq xmm0, qword [ebp - 0x28]
movq qword [ebp - 0xe4], xmm0
jmp 0x9d81ea
movups xmmword [ebp - 0xf4], xmm0
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 7
mov word [ebp - 0xf4], ax
push 0x104
lea eax, [ebp - 0x1f8]
mov byte [ebp - 4], 0x1a
push 0
push eax
call fcn.00a6e210
add esp, 0xc
push 0
nop
nop
nop
nop
nop
nop
test eax, eax
je 0x9d8220
cmp eax, 1
je 0x9d8220
cmp eax, 0x80010106
jne 0x9d82c2
lea eax, [ebp - 0xb0]
push eax
push 0xa9b4e0
push 1
push 0
push 0xa9b510
nop
nop
nop
nop
nop
nop
test eax, eax
js 0x9d82bc
mov ecx, dword [ebp - 0xb0]
lea edx, [ebp - 0xdc]
push edx
push 0xa9b4f0
push ecx
mov eax, dword [ecx]
call dword [eax]
test eax, eax
js 0x9d82b0
mov edx, dword [ebp - 0xdc]
cmp dword [ebp - 0xe0], 8
push 0
mov eax, dword [edx]
mov ecx, dword [eax + 0x14]
lea eax, [ebp - 0xf4]
cmovae eax, dword [ebp - 0xf4]
push eax
push edx
call ecx
test eax, eax
js 0x9d82a4
mov ecx, dword [ebp - 0xb0]
lea edx, [ebp - 0x338]
push 2
push edx
push 0x104
mov eax, dword [ecx]
lea edx, [ebp - 0x1f8]
push edx
push ecx
call dword [eax + 0xc]
mov eax, dword [ebp - 0xdc]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [ebp - 0xb0]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
nop
nop
nop
nop
nop
nop
xorps xmm0, xmm0
mov dword [ebp - 0xc8], 0
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0xc4], 0
movups xmmword [ebp - 0xd8], xmm0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d82f0
sub ecx, edx
lea eax, [ebp - 0x1f8]
push ecx
push eax
lea ecx, [ebp - 0xd8]
call fcn.00992810
lea ecx, [ebp - 0xf4]
call fcn.009f7530
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x9d8776
cmp dword [ebp - 0xc4], 0x10
lea eax, [ebp - 0xd8]
push ecx
cmovae eax, dword [ebp - 0xd8]
lea ecx, [ebp - 0x8c]
push eax
call fcn.009f4cf0
cmp dword [ebp - 0xc4], 0x10
lea eax, [ebp - 0xd8]
cmovae eax, dword [ebp - 0xd8]
push eax
nop
nop
nop
nop
nop
nop
mov esi, eax
test esi, esi
je 0x9d8759
mov edx, esi
lea ecx, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x9d8374
sub edx, ecx
cmp dword [ebp - 0x98], 0x10
push edx
mov edx, dword [ebp - 0x9c]
lea ecx, [ebp - 0xac]
cmovae ecx, dword [ebp - 0xac]
push esi
push 0
call fcn.009fa650
add esp, 0xc
mov dword [ebp - 0x44], 0
xorps xmm0, xmm0
movups xmmword [ebp - 0x54], xmm0
cmp eax, 0xffffffff
je 0x9d854d
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
mov byte [ebp - 4], 0x1c
xor ecx, ecx
mov dword [ebp - 0x60], 0x1a1e0340
mov word [ebp - 0x5c], 0x100
mov al, cl
add al, 0x6e
xor byte [ebp + ecx - 0x60], al
inc ecx
cmp ecx, 4
jb 0x9d83d8
xorps xmm0, xmm0
mov byte [ebp - 0x5b], 0
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x28], 0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d8405
sub ecx, edx
lea eax, [ebp - 0x60]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00992810
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x38]
cmp dword [ebp - 0x24], 0x10
lea edx, [ebp - 0xac]
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x28]
cmovae ecx, edi
mov eax, dword [ebp - 0x9c]
setae byte [ebp - 0xe]
cmp dword [ebp - 0x98], 0x10
mov dword [ebp - 0x18], edi
cmovae edx, dword [ebp - 0xac]
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x14], edx
cmp esi, eax
ja 0x9d8540
sub eax, esi
test esi, esi
jne 0x9d846b
xor edi, edi
jmp 0x9d852a
movsx ecx, byte [ecx]
inc eax
add eax, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x94], eax
sub eax, edx
push eax
push ecx
push edx
call fcn.00a6fa00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x9d853d
mov edx, dword [ebp - 0x74]
mov ecx, edi
sub esi, 4
jb 0x9d84b1
nop dword [eax + eax]
mov eax, dword [ecx]
cmp eax, dword [edx]
jne 0x9d84b6
add ecx, 4
add edx, 4
sub esi, 4
jae 0x9d84a0
cmp esi, 0xfffffffc
je 0x9d84ea
mov al, byte [ecx]
cmp al, byte [edx]
jne 0x9d84e3
cmp esi, 0xfffffffd
je 0x9d84ea
mov al, byte [ecx + 1]
cmp al, byte [edx + 1]
jne 0x9d84e3
cmp esi, 0xfffffffe
je 0x9d84ea
mov al, byte [ecx + 2]
cmp al, byte [edx + 2]
jne 0x9d84e3
cmp esi, 0xffffffff
je 0x9d84ea
mov al, byte [ecx + 3]
cmp al, byte [edx + 3]
je 0x9d84ea
sbb eax, eax
or eax, 1
jmp 0x9d84ec
xor eax, eax
test eax, eax
je 0x9d851f
mov eax, dword [ebp - 0x94]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x3c]
push edi
call fcn.00a6fa00
mov esi, dword [ebp - 0x28]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x9d8491
mov edi, dword [ebp - 0x18]
cmp byte [ebp - 0xe], 0
mov byte [ebp - 4], 0x1c
jmp 0x9d86f3
sub edi, dword [ebp - 0x14]
cmp edi, 0xffffffff
je 0x9d853d
mov esi, dword [ebp - 0x28]
push 0
lea eax, [ebp - 0x54]
push eax
push esi
push edi
lea ecx, [ebp - 0xac]
call fcn.009f7870
mov edi, dword [ebp - 0x18]
cmp byte [ebp - 0xe], 0
mov byte [ebp - 4], 0x1c
jmp 0x9d86f3
mov ecx, esi
mov dword [ebp - 0x40], 0
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d8560
sub ecx, edx
push ecx
push esi
lea ecx, [ebp - 0x54]
call fcn.00992810
mov byte [ebp - 4], 0x1e
xor ecx, ecx
mov dword [ebp - 0x6a], 0x1a1e0340
mov word [ebp - 0x66], 0x100
mov al, cl
add al, 0x6e
xor byte [ebp + ecx - 0x6a], al
inc ecx
cmp ecx, 4
jb 0x9d8586
xorps xmm0, xmm0
mov byte [ebp - 0x65], 0
lea ecx, [ebp - 0x6a]
mov dword [ebp - 0x28], 0
movups xmmword [ebp - 0x38], xmm0
mov dword [ebp - 0x24], 0
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d85b3
sub ecx, edx
lea eax, [ebp - 0x6a]
push ecx
push eax
lea ecx, [ebp - 0x38]
call fcn.00992810
mov byte [ebp - 4], 0x1f
lea ecx, [ebp - 0x38]
cmp dword [ebp - 0x24], 0x10
lea edx, [ebp - 0xac]
mov edi, dword [ebp - 0x38]
mov esi, dword [ebp - 0x28]
cmovae ecx, edi
mov eax, dword [ebp - 0x9c]
setae byte [ebp - 0xe]
cmp dword [ebp - 0x98], 0x10
mov dword [ebp - 0x18], edi
cmovae edx, dword [ebp - 0xac]
mov dword [ebp - 0x14], ecx
mov dword [ebp - 0x74], edx
cmp esi, eax
ja 0x9d86eb
sub eax, esi
test esi, esi
jne 0x9d8619
xor edi, edi
jmp 0x9d86cc
movsx ecx, byte [ecx]
inc eax
add eax, edx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x3c], eax
sub eax, edx
push eax
push ecx
push edx
call fcn.00a6fa00
mov edi, eax
add esp, 0xc
test edi, edi
je 0x9d86e8
nop
mov ecx, dword [ebp - 0x14]
mov edx, edi
sub esi, 4
jb 0x9d8661
nop word [eax + eax]
mov eax, dword [edx]
cmp eax, dword [ecx]
jne 0x9d8666
add edx, 4
add ecx, 4
sub esi, 4
jae 0x9d8650
cmp esi, 0xfffffffc
je 0x9d869a
mov al, byte [edx]
cmp al, byte [ecx]
jne 0x9d8693
cmp esi, 0xfffffffd
je 0x9d869a
mov al, byte [edx + 1]
cmp al, byte [ecx + 1]
jne 0x9d8693
cmp esi, 0xfffffffe
je 0x9d869a
mov al, byte [edx + 2]
cmp al, byte [ecx + 2]
jne 0x9d8693
cmp esi, 0xffffffff
je 0x9d869a
mov al, byte [edx + 3]
cmp al, byte [ecx + 3]
je 0x9d869a
sbb eax, eax
or eax, 1
jmp 0x9d869c
xor eax, eax
test eax, eax
je 0x9d86c1
mov eax, dword [ebp - 0x3c]
inc edi
sub eax, edi
push eax
push dword [ebp - 0x94]
push edi
call fcn.00a6fa00
mov esi, dword [ebp - 0x28]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x9d8640
jmp 0x9d86e8
sub edi, dword [ebp - 0x74]
cmp edi, 0xffffffff
je 0x9d86e8
mov esi, dword [ebp - 0x28]
cmp dword [ebp - 0x40], 0x10
lea eax, [ebp - 0x54]
push dword [ebp - 0x44]
cmovae eax, dword [ebp - 0x54]
lea ecx, [ebp - 0xac]
push eax
push esi
push edi
call fcn.009f7870
mov edi, dword [ebp - 0x18]
cmp byte [ebp - 0xe], 0
mov byte [ebp - 4], 0x1e
je 0x9d8721
mov ecx, dword [ebp - 0x24]
mov eax, edi
inc ecx
cmp ecx, 0x1000
jb 0x9d8717
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edi
call fcn.00a6c232
add esp, 8
mov byte [ebp - 4], 0x1b
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x9d8759
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d874f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
sub esp, 0x18
lea eax, [ebp - 0x8c]
mov ecx, esp
push eax
call fcn.009f5110
call fcn.0099b6f0
add esp, 0x18
mov esi, eax
jmp 0x9d8779
mov esi, dword [ebp - 0x18]
mov byte [ebp - 4], 0x16
mov ecx, dword [ebp - 0xc4]
cmp ecx, 0x10
jb 0x9d87b7
mov edx, dword [ebp - 0xd8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d87ad
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov eax, esi
test esi, esi
je 0x9d880a
mov dword [ebp - 0x18], eax
cmp eax, dword [ebp - 0xb4]
ja 0x9d880a
mov esi, dword [ebp - 0x78]
mov edi, dword [ebp - 0x8c]
cmp dword [ebp - 0x98], 0x10
lea ecx, [ebp - 0xac]
push 0
cmovae ecx, dword [ebp - 0xac]
lea eax, [ebp - 0x8c]
cmp esi, 0x10
push ecx
cmovae eax, edi
push eax
nop
nop
nop
nop
nop
nop
test eax, eax
je 0x9d880a
mov ecx, dword [ebp + 0x38]
inc dword [ebp - 0x64]
mov eax, dword [ebp - 0x18]
add dword [ecx], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x78]
cmp ecx, 0x10
jb 0x9d8845
mov edx, dword [ebp - 0x8c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d883b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x78], 0xf
mov byte [ebp - 0x8c], 0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x98]
cmp ecx, 0x10
jb 0x9d8898
mov edx, dword [ebp - 0xac]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d888e
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov ecx, dword [ebp - 0xbc]
mov eax, 0x2aaaaaab
mov edi, dword [ebp - 0xc0]
sub ecx, edi
mov esi, dword [ebp - 0x90]
imul ecx
inc esi
sar edx, 2
mov eax, edx
mov dword [ebp - 0x90], esi
shr eax, 0x1f
add eax, edx
cmp esi, eax
jb 0x9d7d60
lea ecx, [ebp - 0xc0]
mov byte [ebp - 4], 3
call fcn.009f7300
mov edi, dword [ebp - 0x64]
test edi, edi
jg 0x9d8970
cmp byte [ebp - 0xd], 0
je 0x9d8970
cmp dword [ebp + 0x34], 0x10
lea edx, [ebp + 0x20]
xorps xmm0, xmm0
mov dword [ebp - 0x44], 0
cmovae edx, dword [ebp + 0x20]
mov ecx, edx
mov dword [ebp - 0x40], 0
movups xmmword [ebp - 0x54], xmm0
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x9d8915
sub ecx, esi
push ecx
push edx
lea ecx, [ebp - 0x54]
call fcn.00992810
push ecx
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 0x20
call fcn.0099bab0
mov byte [ebp - 4], 3
add esp, 4
mov ecx, dword [ebp - 0x40]
cmp ecx, 0x10
jb 0x9d8970
mov edx, dword [ebp - 0x54]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d8966
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a8d
push ecx
push edx
call fcn.00a6c232
add esp, 8
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp - 0xc0]
push eax
call fcn.00a00610
mov esi, dword [ebp - 0xb8]
cmp byte [esi + 0xd], 0
jne 0x9d89b6
cmp dword [esi + 0x24], 0x10
lea eax, [esi + 0x10]
mov edx, dword [eax + 0x10]
jb 0x9d899a
mov eax, dword [eax]
cmp dword [ebp + 0x34], 0x10
lea ecx, [ebp + 0x20]
push edx
cmovae ecx, dword [ebp + 0x20]
mov edx, dword [ebp + 0x30]
push eax
call fcn.009fa4d0
add esp, 8
test eax, eax
jns 0x9d89bc
mov esi, dword [0xac560c]
lea eax, [ebp + 0x20]
push eax
cmp esi, dword [0xac560c]
jne 0x9d89d1
call fcn.009f17a0
mov dword [eax], edi
jmp 0x9d89d8
call fcn.009f17a0
add dword [eax], edi
mov ecx, dword [ebp + 0x1c]
cmp ecx, 0x10
jb 0x9d8a0c
mov edx, dword [ebp + 8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d8a02
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a92
push ecx
push edx
call fcn.00a6c232
add esp, 8
mov ecx, dword [ebp + 0x34]
mov dword [ebp + 0x18], 0
mov dword [ebp + 0x1c], 0xf
mov byte [ebp + 8], 0
cmp ecx, 0x10
jb 0x9d8a4e
mov edx, dword [ebp + 0x20]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x9d8a44
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x9d8a92
push ecx
push edx
call fcn.00a6c232
add esp, 8
lea ecx, [ebp + 0x3c]
mov dword [ebp + 0x30], 0
mov dword [ebp + 0x34], 0xf
mov byte [ebp + 0x20], 0
call fcn.009f7300
lea ecx, [ebp + 0x48]
call fcn.009f7300
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
ret
push eax
call fcn.00a6b1dc
call fcn.00992040
call fcn.00a714d0
call fcn.00a714d0
int3