Function at 0x64f880
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x1e0
mov edi, ecx
nop
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x65d090
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.006574a0
mov edx, dword [0x866f98]
mov ecx, dword [0x866f7c]
mov esi, 0xdaa9
sub esi, eax
mov dword [ebp - 0x24], esi
sub ecx, esi
add ecx, edx
call dword [0x834360]
call ecx
cmp byte [edi], 0
jne 0x651625
mov esi, eax
mov ecx, eax
xor ecx, 0x491643b4
xor eax, 0x4916439b
mov dword [ebp - 0xb4], ecx
mov dword [edi + ecx], eax
mov ecx, esi
xor ecx, 0x491643a0
mov eax, esi
xor eax, 0x491643a8
mov dword [ebp - 0x2c], eax
mov eax, dword [edi + eax]
mov edx, dword [edi + ecx]
mov dword [ebp - 0x40], edx
sub eax, edx
mov edx, esi
xor edx, 0x491663a4
mov dword [ebp - 0x48], edx
cmp eax, edx
mov eax, dword [0x88abdc]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x30], ecx
lea eax, [edi + ecx]
mov dword [ebp - 0x34], eax
nop
mov dword [ebp - 0x20], esi
jae 0x64fa36
mov edi, esi
xor edi, 0x491643ac
mov eax, dword [ebp - 0x28]
mov eax, dword [eax + edi]
mov dword [ebp - 0x60], eax
mov eax, esi
xor eax, 0x49166387
push eax
call fcn.0071993d
add esp, 4
mov ecx, esi
xor ecx, 0x49164387
mov dword [ebp - 0x4c], ecx
add ecx, eax
mov edx, esi
xor edx, ecx
xor edx, 0x491643bb
mov ebx, esi
xor ebx, 0xb6e9bc44
or ebx, ecx
and ebx, edx
xor esi, 0xb6e9bc58
mov dword [ebp - 0x80], esi
mov dword [ebx + esi], eax
mov dword [ebp - 0x64], edi
mov eax, dword [ebp - 0x28]
mov edi, dword [eax + edi]
mov esi, dword [ebp - 0x34]
mov edx, dword [esi]
mov dword [ebp - 0x44], edx
mov eax, dword [0x866fa0]
mov ecx, dword [0x866f78]
sub ecx, dword [ebp - 0x24]
add ecx, eax
sub edi, edx
call dword [0x834360]
push edi
push dword [ebp - 0x44]
push ebx
call ecx
mov edx, dword [ebp - 0x28]
add esp, 0xc
mov eax, dword [esi]
test eax, eax
je 0x64fa13
nop
mov ecx, dword [ebp - 0x2c]
mov ecx, dword [edx + ecx]
sub ecx, eax
mov edi, dword [ebp - 0x20]
mov edx, edi
xor edx, 0x49164c5b
cmp ecx, edx
jbe 0x64fa04
nop
mov esi, dword [ebp - 0x80]
lea edx, [eax + esi]
mov eax, dword [eax + esi]
sub edx, eax
xor edi, 0x49164384
cmp edx, edi
jae 0x651656
add ecx, dword [ebp - 0x4c]
nop
push ecx
push eax
call fcn.0071996d
add esp, 8
nop
mov edx, dword [ebp - 0x28]
nop
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x34]
mov dword [eax], ebx
add ecx, ebx
mov eax, dword [ebp - 0x64]
mov dword [edx + eax], ecx
mov ecx, dword [ebp - 0x48]
add ecx, ebx
mov eax, dword [ebp - 0x2c]
mov dword [edx + eax], ecx
nop
mov esi, dword [ebp - 0x20]
mov ecx, esi
xor ecx, 0x49164384
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xa4], ecx
mov eax, dword [eax + ecx]
test eax, eax
je 0x64faa0
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fa76
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x64fa9c
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov ecx, esi
xor ecx, 0x49164380
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xa0], ecx
mov eax, dword [eax + ecx]
test eax, eax
je 0x64fb0a
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fae0
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x64fb06
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x4916438c
mov ecx, dword [0x867df4]
xor ecx, esi
cmp ecx, 0x64dea81e
mov edx, dword [0x7e639c]
jne 0x64fb4a
mov ebx, 0x7e639c
mov esi, edx
mov ecx, 0x7e639c
shl esi, cl
xor ecx, ecx
test bl, 0x20
cmove ecx, esi
sub ecx, edx
mov esi, ecx
xor esi, edx
and ecx, edx
lea ecx, [esi + ecx*2]
jmp 0x64fb50
lea ecx, [edx + 0x7e639c]
mov dword [ebp - 0x4c], ecx
nop
mov ecx, dword [0x7e6390]
mov dword [ebp - 0x80], ecx
mov ecx, 0x7e6394
add ecx, dword [0x7e6394]
mov dword [ebp - 0x8c], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fbc7
nop
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x20]
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fba1
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x64fbc7
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164264
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fc2c
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fc02
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fc28
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164260
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fc8d
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fc63
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fc89
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x4916426c
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fcee
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fcc4
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fcea
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164268
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fd4f
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fd25
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fd4b
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164274
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fdb0
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fd86
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fdac
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164270
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fe11
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fde7
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fe0d
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x4916427c
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fe72
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fe48
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fe6e
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164278
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fed3
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64fea9
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fecf
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164244
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64ff34
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64ff0a
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64ff30
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov ecx, ebx
xor ecx, 0x49164240
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0xb0], ecx
mov eax, dword [eax + ecx]
test eax, eax
je 0x64ff9c
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64ff72
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64ff98
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x4916424c
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x64fffd
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x64ffd3
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x64fff9
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164248
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650068
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
cmp byte [0x889bde], 0
jne 0x65003e
nop
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x65003e
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x650064
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164254
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x6500c9
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x65009f
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x6500c5
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164250
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x65012a
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650100
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x650126
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x4916425c
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x65018b
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650161
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x650187
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x49164258
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x6501ec
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x6501c2
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x6501e8
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x491641a4
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x65024d
nop
mov dword [ebp - 0x1ec], eax
xor ebx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ebx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650223
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ebx], eax
jmp 0x650249
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ebx, dword [ebp - 0x20]
mov eax, ebx
xor eax, 0x491641a0
mov dword [ebp - 0x98], eax
mov edi, dword [0x867df8]
xor edi, ebx
mov ecx, dword [0x867de4]
lea eax, [ecx + 1]
cmp edi, 0xab1aa528
lea edx, [ecx + ecx*2 - 3]
cmove edx, eax
mov dword [0x867de4], edx
xor esi, esi
mov dword [ebp - 0xac], ecx
mov dword [ebp - 0xa8], edx
test edx, ecx
je 0x6502ee
mov dword [ebp - 0x44], 0
nop
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x98]
mov eax, dword [eax + ecx]
test eax, eax
je 0x6506be
nop
mov edx, dword [0x867dfc]
xor edx, dword [ebp - 0x20]
xor ecx, ecx
cmp edx, 0x3d55ece6
setne cl
lea edx, [ecx + ecx*8]
mov dword [ebp - 0x1ec], eax
mov esi, dword [ebp - 0x28]
mov edi, dword [esi + edx - 1]
mov edx, dword [ebp - 0x2c]
cmp edi, dword [esi + edx]
je 0x650691
lea ecx, [ecx + ecx*8]
dec ecx
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [esi + ecx], eax
jmp 0x6506be
nop
mov dword [ebp - 0x5c], edi
mov ecx, dword [0x867df4]
xor ecx, ebx
mov eax, ebx
xor eax, 0x36e9bc5d
cmp ecx, 0x8a4cda84
cmovne eax, esi
mov edx, dword [ebp - 0x8c]
mov ecx, dword [edx + eax*4]
cmp dword [ebp - 0x80], 0
jle 0x650290
lea eax, [edx + eax*4]
add eax, ecx
mov dword [ebp - 0x64], eax
mov eax, ebx
shl eax, 4
xor eax, 0xa86bc5a4
mov ecx, ebx
xor ecx, 0x877e4e8e
mov edx, ebx
shr edx, 3
mov esi, ebx
shl esi, 0x1d
xor esi, ebx
xor esi, 0xf881b171
xor edx, 0xcfd2c86f
mov dword [ebp - 0x60], 0
add esi, ecx
adc edx, eax
add esi, 1
mov dword [ebp - 0x50], esi
adc edx, 0
mov dword [ebp - 0x58], edx
mov eax, ebx
xor eax, 0xe0b29074
mov dword [ebp - 0x48], eax
mov eax, ebx
xor eax, 0x77980d10
mov dword [ebp - 0x44], eax
mov eax, ebx
xor eax, 0xae0ad0cc
mov dword [ebp - 0x78], eax
mov eax, ebx
xor eax, 0x9531bc04
mov dword [ebp - 0x74], eax
lea ecx, [ebx*8]
mov eax, ecx
mov edx, ecx
xor eax, 0x505171b7
mov dword [ebp - 0x54], eax
mov eax, ebx
xor eax, 0x6ace43fb
mov dword [ebp - 0x70], eax
lea ecx, [ebx + ebx]
mov dword [ebp - 0x40], ecx
xor ecx, 0xc477ab67
mov eax, ebx
xor eax, 0x8867f2ef
xor edx, 0xc6063fce
mov dword [ebp - 0x6c], edx
mov edx, ebx
xor edx, 0xf48c6549
mov dword [ebp - 0x84], edx
mov edi, ebx
shr edi, 5
mov dword [ebp - 0x88], edi
mov edx, ebx
shl edx, 0x1b
xor edx, ebx
mov esi, edx
xor esi, 0x2b739ab6
mov dword [ebp - 0x7c], edi
xor dword [ebp - 0x7c], 0x73036f0c
add esi, dword [ebp - 0x84]
mov edi, dword [ebp - 0x6c]
adc dword [ebp - 0x7c], edi
add eax, dword [ebp - 0x70]
adc ecx, dword [ebp - 0x54]
add eax, dword [ebp - 0x74]
adc ecx, dword [ebp - 0x78]
add eax, dword [ebp - 0x44]
adc ecx, dword [ebp - 0x48]
add eax, 4
mov dword [ebp - 0x74], eax
adc ecx, 0
mov dword [ebp - 0x78], ecx
add esi, 1
mov dword [ebp - 0x70], esi
adc dword [ebp - 0x7c], 0
mov ecx, dword [ebp - 0x40]
xor ecx, 0x1ad0c7cf
mov eax, ebx
xor eax, 0xecfc02aa
xor edx, 0x3303fd55
mov esi, dword [ebp - 0x88]
xor esi, 0x754b0d65
add edx, eax
adc esi, ecx
add edx, 1
mov dword [ebp - 0x54], edx
adc esi, 0
mov dword [ebp - 0x88], esi
mov eax, ebx
xor eax, 0xd0b00859
mov ecx, ebx
xor ecx, 0xca1f16b
add ecx, eax
mov eax, ecx
not eax
add ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x94], ecx
mov eax, ebx
xor eax, 0x29011cfb
mov ecx, ebx
xor ecx, 0xd6fee304
add eax, ecx
inc eax
mov dword [ebp - 0x90], eax
mov eax, ebx
xor al, 0x84
mov ecx, ebx
xor cl, 0x7b
add cl, al
mov byte [ebp - 0x65], cl
mov eax, ebx
xor al, 0xa7
mov byte [ebp - 0x39], al
mov edi, dword [0x867df0]
xor edi, ebx
xor ebx, 0xbbf92f4f
mov dword [ebp - 0x84], ebx
lea eax, [ebx - 1]
mov dword [ebp - 0x9c], eax
xor edx, edx
mov dword [ebp - 0x44], 0
xor eax, eax
mov dword [ebp - 0x6c], edi
jmp 0x6504f8
mov eax, dword [ebp - 0x44]
xor al, dl
mov dword [ebp - 0x44], eax
mov edx, dword [ebp - 0x40]
inc edx
mov eax, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x80]
jge 0x650297
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x4c]
lea ecx, [eax + edx]
cmp dword [ebp - 0x5c], 0xab1aa528
mov dword [ebp - 0x40], edx
jne 0x650530
mov eax, dword [ebp - 0x54]
add eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x88]
adc esi, dword [ebp - 0x60]
sub eax, ecx
sbb esi, 0
jmp 0x65057e
xor eax, eax
shld eax, ecx, cl
mov edx, ecx
shl edx, cl
test cl, 0x20
cmovne eax, edx
mov esi, 0
cmovne edx, esi
mov edi, dword [ebp - 0x50]
sub edi, ecx
mov ebx, dword [ebp - 0x58]
sbb ebx, 0
add edi, edx
adc ebx, eax
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x78]
sbb esi, dword [ebp - 0x60]
add eax, edi
adc esi, ebx
imul ebx, eax
mul edi
add edx, ebx
imul esi, edi
mov edi, dword [ebp - 0x6c]
add esi, edx
add eax, dword [ebp - 0x70]
adc esi, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x30]
cmp eax, 1
sbb esi, 0
movzx edx, byte [ecx]
jl 0x6505a0
cmp edi, 0x75bfec7
jne 0x6504e0
jmp 0x650658
nop
mov ecx, dword [0x867dec]
xor ecx, dword [ebp - 0x20]
cmp ecx, 0xd84a3374
jne 0x65060b
nop
movzx ecx, byte [ebp - 0x39]
shl al, cl
mov ch, byte [ebp - 0x65]
add ch, al
mov cl, al
shl ch, cl
shl ch, cl
mov esi, dword [ebp - 0x48]
mov eax, esi
neg eax
imul esi, eax
mov ebx, esi
xor ebx, eax
and esi, eax
mov ah, ch
mov cl, dl
shl ah, cl
xor ah, ch
mov al, ch
sub al, ah
mov edx, eax
mov cl, ch
shl dl, cl
add ebx, dword [ebp - 0x90]
lea ecx, [ebx + esi*2]
mov esi, ecx
imul esi, ecx
neg esi
shl esi, cl
sub esi, ecx
and dl, al
neg dword [ebp - 0x40]
mov dword [0x867dec], 0x656e10f4
jmp 0x650632
mov ch, al
mov cl, byte [ebp - 0x39]
shl ch, cl
mov dh, 0xfe
mov cl, ch
rol dh, cl
mov bl, 2
shl bl, cl
mov ecx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x94]
add ecx, eax
mov dword [ebp - 0x40], ecx
add bl, dh
and dl, bl
mov esi, dword [ebp - 0x48]
inc esi
nop
mov eax, dword [ebp - 0x8c]
lea ecx, [eax + esi*4]
mov dword [ebp - 0x48], esi
add ecx, dword [eax + esi*4]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], 0
cmp edi, 0x75bfec7
jne 0x6504e0
nop
mov dword [0x867de0], 0x58a537a2
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x9c]
mov eax, edx
xor eax, 1
and edx, 1
sub eax, dword [ebp - 0x84]
lea edx, [eax + edx*2]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
cmp edx, dword [ebp - 0x80]
jl 0x6504f8
jmp 0x650297
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x491641ac
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x65072a
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x6506f9
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650726
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x491641a8
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x650792
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650761
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x65078e
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x491641b4
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x6507fa
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x6507c9
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x6507f6
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x491641b0
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x650862
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650831
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x65085e
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x491641bc
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x6508ca
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650899
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x6508c6
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x491641b8
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x650932
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650901
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x65092e
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x49164180
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x65099a
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650969
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650996
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x4916418c
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x650a02
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x6509d1
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x6509fe
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x49164188
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x650a6a
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650a39
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650a66
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x49164194
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x650ad2
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650aa1
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650ace
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x49164190
mov edx, dword [ebp - 0x38]
mov eax, dword [edx + eax]
test eax, eax
je 0x650b3a
nop
mov dword [ebp - 0x1ec], eax
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650b09
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650b36
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov ecx, dword [ebp - 0x20]
mov eax, ecx
xor eax, 0x4916419c
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650ba1
nop
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x20]
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650b74
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650ba1
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
cmp byte [0x889b68], 0
jne 0x650c14
nop
mov eax, dword [ebp - 0x20]
xor eax, 0x49164184
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650c14
nop
mov dword [ebp - 0x1ec], eax
mov ecx, dword [ebp - 0x20]
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650be7
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650c14
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x49164198
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650c82
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650c51
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650c7e
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x491641e4
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650cec
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650cbb
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650ce8
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x4916412c
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650d56
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650d25
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650d52
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x49164128
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650dc0
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650d8f
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650dbc
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x49164134
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650e2a
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650df9
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650e26
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x4916411c
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650e94
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650e63
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650e90
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x49164118
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650efe
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650ecd
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650efa
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x49164164
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650f68
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650f37
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650f64
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x49164174
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x650fd2
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x650fa1
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x650fce
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x49164170
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x65103c
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x65100b
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x651038
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov esi, dword [ebp - 0x20]
mov eax, esi
xor eax, 0x4916417c
mov ecx, dword [ebp - 0x38]
mov eax, dword [ecx + eax]
test eax, eax
je 0x6510ae
nop
mov dword [ebp - 0x1ec], eax
mov ecx, esi
xor ecx, 0x491643ac
mov edx, dword [ebp - 0x28]
mov edi, dword [edx + ecx]
mov esi, dword [ebp - 0x2c]
cmp edi, dword [edx + esi]
je 0x651075
nop
mov dword [edi], eax
mov eax, dword [ebp - 0x30]
add dword [edx + ecx], eax
jmp 0x6510a2
nop
mov eax, dword [0x866f94]
mov esi, dword [0x866f70]
sub esi, dword [ebp - 0x24]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
mov ecx, dword [ebp - 0x34]
push eax
push edi
call esi
nop
mov dword [ebp - 0x10], 0xffffffff
nop
mov esi, dword [ebp - 0x20]
nop
mov dword [ebp - 0x10], 0xffffffff
push 0
call dword [0x834030]
mov ecx, esi
xor ecx, 0x49164398
mov edi, dword [eax + ecx]
mov dword [ebp - 0x54], eax
add edi, eax
mov ecx, esi
xor ecx, 0x49164320
cmp dword [ecx + edi], 0
je 0x6515ae
nop
mov esi, dword [ebp - 0x20]
mov ecx, esi
xor ecx, 0x49164324
mov edx, dword [0x867de0]
xor edx, esi
cmp edx, 0xbaccba95
movzx edx, byte [0x7e63a4]
jne 0x651110
nop
mov dword [0x867df8], 0x81a80469
jmp 0x651137
nop
mov esi, dword [ebp - 0xa8]
test dword [ebp - 0xac], esi
sete dh
cmp dl, byte [ebp - 0x44]
setne dl
and dl, dh
or dl, byte [0x889bde]
and dl, 1
mov byte [0x889bde], dl
nop
mov edi, dword [edi + ecx]
mov esi, dword [ebp - 0x54]
add edi, esi
mov edx, dword [ebp - 0x20]
mov eax, edx
xor eax, 0x491643b0
mov dword [ebp - 0x58], eax
mov eax, edx
xor eax, 0x491643bc
mov dword [ebp - 0x4c], eax
mov eax, edx
xor eax, 0xe6fa06fe
mov ecx, edx
xor ecx, 0x1905f901
add eax, ecx
add eax, 2
mov dword [ebp - 0x44], eax
mov eax, edx
xor eax, 0x49164388
mov dword [ebp - 0x7c], eax
mov eax, edx
xor eax, 0x491643ac
mov dword [ebp - 0x8c], eax
mov eax, edx
xor eax, 0x491643ab
mov dword [ebp - 0x5c], eax
mov eax, edx
xor al, 0xc9
mov byte [ebp - 0x40], al
mov eax, edx
xor al, 0xb
mov byte [ebp - 0x64], al
mov eax, edx
xor al, 0xb9
mov byte [ebp - 0x60], al
mov eax, edx
xor eax, 0x32d4556d
mov dword [ebp - 0x80], eax
mov eax, edx
xor eax, 0x491643af
mov dword [ebp - 0x84], eax
mov ecx, edx
xor cl, 0xfe
mov ch, dl
xor ch, 1
mov eax, edx
xor eax, 0x491643a9
mov dword [ebp - 0x98], eax
mov eax, edx
xor eax, 0x49164c5b
mov dword [ebp - 0x70], eax
xor edx, 0xb6e9bc58
mov eax, edx
neg eax
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x30]
lea ebx, [eax + ebp]
add ebx, 0xfffffe14
mov dword [ebp - 0x50], ebx
lea eax, [ebp + eax - 0xd0]
mov dword [ebp - 0x74], eax
lea eax, [esi + 2]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x6c], edx
lea eax, [edx + 0x7fffffff]
mov dword [ebp - 0x90], eax
nop
mov byte [ebp - 0x9c], cl
xor ch, cl
mov byte [ebp - 0x39], ch
jmp 0x65124c
add eax, dword [ebp - 0xa0]
mov edx, eax
mov ecx, esi
nop
push edx
push ecx
call fcn.0071996d
add esp, 8
nop
mov edi, dword [ebp - 0x78]
add edi, dword [ebp - 0x58]
nop
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x78], edi
mov ebx, dword [edi + eax]
test ebx, ebx
je 0x6515ae
nop
add ebx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax - 0x1ec], 0
mov eax, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x5c]
mov dword [ebp + eax - 0x1ec], edi
mov eax, dword [ebp - 0x50]
mov byte [eax], 0
push ebx
call fcn.00700090
add esp, 4
mov esi, eax
cmp eax, edi
mov dword [ebp - 0x10], 0xffffffff
jbe 0x6512d0
nop
mov eax, dword [0x866f9c]
mov edi, dword [0x866f74]
sub edi, dword [ebp - 0x24]
add edi, eax
mov ecx, edi
call dword [0x834360]
sub esp, 0xc
movzx eax, byte [ebp - 0xd0]
mov byte [esp + 4], al
mov dword [esp + 8], ebx
mov dword [esp], esi
mov ecx, dword [ebp - 0x50]
call edi
jmp 0x651300
nop
mov eax, dword [ebp - 0x58]
mov dword [ebp + eax - 0x1ec], esi
mov eax, dword [0x866fa0]
mov ecx, dword [0x866f78]
sub ecx, dword [ebp - 0x24]
add ecx, eax
call dword [0x834360]
push esi
push ebx
mov edi, dword [ebp - 0x50]
push edi
call ecx
add esp, 0xc
mov byte [edi + esi], 0
nop
mov dword [ebp - 0x1ec], 0x751360
mov eax, dword [ebp - 0x58]
mov eax, dword [ebp + eax - 0x1ec]
test eax, eax
je 0x651340
nop
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x5c]
cmp dword [ebp + edx - 0x1ec], esi
jbe 0x651331
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx]
mov dword [ebp - 0x10], 3
push eax
push ecx
call dword [0x83433c]
nop
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp + eax - 0xd0], ecx
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x58]
mov dword [ebp + ecx - 0xd0], eax
movzx eax, byte [0x866efd]
cmp al, byte [ebp - 0x40]
je 0x6513e4
nop word [eax + eax]
movzx eax, byte [ebp - 0x64]
movzx ecx, byte [ebp - 0x60]
lock cmpxchg byte [0x866efd], cl
je 0x651390
cmp al, byte [ebp - 0x40]
jne 0x651370
jmp 0x6513e4
xor ecx, ecx
mov esi, dword [ebp - 0x84]
movzx ebx, byte [ebp - 0x9c]
mov bh, byte [ebp - 0x39]
mov edi, dword [ebp - 0x98]
nop dword [eax + eax]
nop
mov eax, dword [ebp - 0x80]
add eax, ecx
xor edx, edx
div esi
movzx eax, byte [edx + 0x7e63b0]
and al, bh
xor al, bl
xor byte [ecx + 0x866ef0], al
add ecx, dword [ebp - 0x44]
cmp ecx, edi
jl 0x6513b0
nop
movzx eax, byte [ebp - 0x40]
xchg byte [0x866efd], al
mov dword [ebp - 0x10], 0xffffffff
nop
mov eax, dword [0x866f90]
mov ecx, dword [0x866f80]
sub ecx, dword [ebp - 0x24]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
push dword [ebp - 0x2c]
push 0x866ef0
push dword [ebp - 0x74]
call ecx
add esp, 0xc
mov eax, dword [ebp - 0xb4]
mov byte [ebp + eax - 0xd0], 0
mov dword [ebp - 0xd0], 0x751360
mov dword [ebp - 0x10], 4
lea ecx, [ebp - 0x1ec]
lea eax, [ebp - 0xd0]
push eax
call fcn.00512a20
mov esi, eax
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax - 0xd0]
cmp eax, dword [ebp - 0x5c]
jbe 0x6514b6
mov ecx, eax
xor ecx, 1
mov edx, eax
and edx, 1
lea edi, [ecx + edx*2]
mov ecx, dword [ebp - 0x74]
mov ecx, dword [ecx]
cmp edi, dword [ebp - 0x70]
jbe 0x6514ab
nop
mov edx, dword [ebp - 0x6c]
mov edx, dword [ecx + edx]
mov edi, ecx
neg edi
xor edi, dword [ebp - 0x94]
dec ecx
and ecx, dword [ebp - 0x90]
or ecx, edi
add ecx, ecx
add edi, edx
sub ecx, edi
add ecx, 2
cmp ecx, dword [ebp - 0xa4]
jae 0x65163c
mov ecx, eax
mov edi, dword [ebp - 0xa0]
xor ecx, edi
and eax, edi
lea edi, [ecx + eax*2]
mov ecx, edx
nop
push edi
push ecx
call fcn.0071996d
add esp, 8
test esi, esi
je 0x651520
nop
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax - 0x1ec]
cmp eax, dword [ebp - 0x5c]
jbe 0x651245
nop
mov ecx, dword [ebp - 0x50]
mov ecx, dword [ecx]
lea edx, [eax + 1]
cmp edx, dword [ebp - 0x70]
jbe 0x65123a
mov edx, ecx
not edx
mov ebx, dword [ebp - 0x6c]
and edx, ebx
mov edi, dword [ebp - 0x20]
xor edi, ecx
xor edi, 0xb6e9bc58
or edi, edx
mov esi, dword [ecx + ebx]
and ecx, ebx
lea ecx, [edi + ecx*2]
sub ecx, esi
cmp ecx, dword [ebp - 0xa4]
jb 0x651230
jmp 0x651649
nop
mov eax, dword [ebp - 0x78]
mov ecx, dword [eax]
test ecx, ecx
je 0x6514ba
mov eax, ecx
add eax, dword [ebp - 0x54]
jmp 0x65154f
nop
mov dword [edx], eax
mov eax, dword [ebp - 0x30]
add dword [ecx + edi], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x30]
nop
mov dword [ebp - 0x48], eax
mov eax, dword [eax]
test eax, eax
je 0x6514ba
js 0x651549
nop
add eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ecx + edx]
mov dword [ebp - 0x10], 3
push eax
push ecx
call fcn.0067de30
add esp, 8
nop
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x28]
mov edi, dword [ebp - 0x8c]
mov edx, dword [ecx + edi]
mov esi, dword [ebp - 0x2c]
cmp edx, dword [ecx + esi]
jne 0x651540
nop
mov ecx, dword [ebp - 0x34]
lea eax, [ebp - 0xd0]
push eax
push edx
call fcn.00456d70
jmp 0x651549
nop
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0xb0]
mov esi, dword [eax + ecx]
mov ebx, dword [ebp - 0x30]
lea eax, [ebp + ebx - 0x1ec]
push pe_nt_image_headers32
push 0
push eax
call fcn.007311f0
add esp, 0xc
mov edi, dword [ebp - 0x20]
mov eax, edi
xor eax, 0x491642b8
mov dword [ebp - 0x1ec], eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0x1ec]
push eax
call esi
test eax, eax
setne al
mov ecx, edi
xor ecx, 0x491643a1
cmp dword [ebp + ebx - 0x1ec], ecx
seta cl
and cl, al
xor edi, 0x49164350
mov eax, dword [ebp - 0x28]
mov byte [eax + edi], cl
mov byte [eax], 1
nop
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov al, 1
add esp, 0x1e0
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov dword [ebp - 0x10], 1
call fcn.006fce21
nop
mov dword [ebp - 0x10], 2
call fcn.006fce21
nop
mov dword [ebp - 0x10], 0
call fcn.006fce21
nop word cs:[eax + eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.007311e0
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.007311e0
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.007311e0
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
nop
mov eax, dword [0x866fa4]
mov esi, dword [0x866f84]
sub esi, dword [ebp - 0x24]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea ecx, [ebp - 0xd0]
call esi
add esp, 0xc
pop ebp
ret