Function at 0x6c1f80
Capabilities:
Encode data using xor
Get disk information

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x460
nop
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x6c4e40
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.006c4e10
mov edx, dword [0x8752a4]
mov ecx, dword [0x875284]
mov edi, 0x78b6
sub edi, eax
mov dword [ebp - 0x30], edi
sub ecx, edi
add ecx, edx
call dword [0x834360]
call ecx
mov dword [esi], 0
mov ecx, eax
xor ecx, 0x433e6858
mov dword [ebp - 0x44], ecx
mov dword [esi + ecx], 0
mov ecx, eax
xor ecx, 0x433e6854
mov dword [ebp - 0x90], ecx
mov dword [esi + ecx], 0
movzx ecx, byte [0x87518c]
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x25], al
xor al, 0x60
mov byte [ebp - 0x1d], al
cmp cl, al
je 0x6c20d0
movzx edx, byte [ebp - 0x25]
mov ecx, edx
xor cl, 0xfa
xor dl, 0x77
nop
mov eax, ecx
lock cmpxchg byte [0x87518c], dl
je 0x6c2046
cmp al, byte [ebp - 0x1d]
jne 0x6c2030
jmp 0x6c20d0
nop
mov eax, dword [ebp - 0x7c]
mov esi, eax
xor esi, 0x5ce009b1
mov edx, eax
xor edx, 0x9d90e1a0
xor eax, 0x433e6850
mov ch, byte [ebp - 0x25]
mov cl, ch
xor cl, 0xaf
xor ch, 0x50
cmp eax, 2
mov edi, 1
mov dword [ebp - 0xa4], eax
cmovge edi, eax
mov dword [ebp - 0x98], edi
sub edx, esi
mov edi, edx
xor ebx, ebx
xor ch, cl
nop dword [eax]
lea eax, [edi + ebx]
mov edx, eax
xor edx, esi
and eax, esi
lea eax, [edx + eax*2]
xor edx, edx
div dword [ebp - 0xa4]
movzx eax, byte [edx + 0x7e8660]
and al, ch
xor al, cl
add byte [ebx + 0x875180], al
inc ebx
cmp dword [ebp - 0x98], ebx
jne 0x6c2090
nop
movzx eax, byte [ebp - 0x1d]
xchg byte [0x87518c], al
mov dword [ebp - 0x10], 0xffffffff
nop
mov esi, dword [ebp - 0x7c]
xor esi, 0x433e6850
mov eax, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
lea edx, [ebp - 0x240]
mov dword [ebp - 0xb8], esi
push esi
push 0x875180
push edx
call ecx
add esp, 0xc
mov dword [ebp - 0x10], 0xc
call dword [0x83422c]
mov edx, dword [ebp - 0x7c]
mov ecx, edx
xor ecx, 0x433e684c
mov dword [ebp - 0x34], ecx
mov ecx, edx
xor ecx, 0x433e685f
mov dword [ebp - 0x94], ecx
mov ecx, edx
xor ecx, 0x433e6859
mov dword [ebp - 0xd0], ecx
mov ecx, edx
xor ecx, 0x433e685a
mov dword [ebp - 0xcc], ecx
mov ecx, edx
xor ecx, 0x433e6855
mov dword [ebp - 0xc8], ecx
mov ecx, edx
xor ecx, 0x433e6856
mov dword [ebp - 0xc4], ecx
mov ecx, edx
xor ecx, 0x433e6874
mov dword [ebp - 0xc0], ecx
mov ecx, edx
xor ecx, 0x433e681e
mov dword [ebp - 0x1e8], ecx
mov ecx, edx
xor ecx, 0x433e681f
mov dword [ebp - 0x1e4], ecx
mov ecx, edx
xor ecx, 0x433e6818
mov dword [ebp - 0x1e0], ecx
mov ecx, edx
xor ecx, 0x433e6819
mov dword [ebp - 0x1dc], ecx
mov ecx, edx
xor ecx, 0x433e681a
mov dword [ebp - 0x1d8], ecx
mov ecx, edx
xor ecx, 0x433e681b
mov dword [ebp - 0x1d4], ecx
mov ecx, edx
xor ecx, 0x433e6814
mov dword [ebp - 0x1d0], ecx
mov ecx, edx
xor ecx, 0x433e685b
mov dword [ebp - 0x1cc], ecx
mov ecx, edx
xor ecx, 0x433e6815
mov dword [ebp - 0x1c8], ecx
mov ecx, edx
xor ecx, 0x433e6816
mov dword [ebp - 0x1c4], ecx
mov ecx, edx
xor ecx, 0x433e6817
mov dword [ebp - 0x1c0], ecx
mov ecx, edx
xor ecx, 0x433e6810
mov dword [ebp - 0x1bc], ecx
mov ecx, edx
xor ecx, 0x433e6857
mov dword [ebp - 0x1b8], ecx
mov ecx, edx
xor ecx, 0x433e6811
mov dword [ebp - 0x1b4], ecx
mov ecx, edx
xor ecx, 0x433e6812
mov dword [ebp - 0x1b0], ecx
mov ecx, edx
xor ecx, 0x433e6851
mov dword [ebp - 0x1ac], ecx
mov ecx, edx
xor ecx, 0x433e6813
mov dword [ebp - 0x1a8], ecx
mov ecx, edx
xor ecx, 0x433e680c
mov dword [ebp - 0x1a4], ecx
mov ecx, edx
xor ecx, 0x433e6853
mov dword [ebp - 0x3c], ecx
mov ecx, edx
xor ecx, 0x433e680d
mov dword [ebp - 0x1a0], ecx
mov ecx, edx
xor ecx, 0x433e6852
mov dword [ebp - 0x19c], ecx
mov ecx, edx
xor ecx, 0x433e680e
mov dword [ebp - 0x198], ecx
mov ecx, edx
xor ecx, 0x433e684d
mov dword [ebp - 0x194], ecx
mov ecx, edx
xor ecx, 0x433e680f
mov dword [ebp - 0x190], ecx
mov ecx, edx
xor ecx, 0x433e6808
mov dword [ebp - 0x18c], ecx
mov ecx, edx
xor ecx, 0x433e684f
mov dword [ebp - 0x188], ecx
mov ecx, edx
xor ecx, 0x433e6809
mov dword [ebp - 0x184], ecx
mov ecx, edx
xor ecx, 0x433e684e
mov dword [ebp - 0x180], ecx
mov ecx, edx
xor ecx, 0x433e680a
mov dword [ebp - 0x17c], ecx
mov ecx, edx
xor ecx, 0x433e6849
mov dword [ebp - 0x178], ecx
mov ecx, edx
xor ecx, 0x433e680b
mov dword [ebp - 0x174], ecx
mov ecx, edx
xor ecx, 0x433e6848
mov dword [ebp - 0x38], ecx
mov ecx, edx
xor ecx, 0x433e6804
mov dword [ebp - 0x170], ecx
mov ecx, edx
xor ecx, 0x433e684b
mov dword [ebp - 0x16c], ecx
mov ecx, edx
xor ecx, 0x433e6805
mov dword [ebp - 0x168], ecx
mov ecx, edx
xor ecx, 0x433e684a
mov dword [ebp - 0x164], ecx
mov ecx, edx
xor ecx, 0x433e6806
mov dword [ebp - 0x160], ecx
mov ecx, edx
xor ecx, 0x433e6845
mov dword [ebp - 0x15c], ecx
mov ecx, edx
xor ecx, 0x433e6807
mov dword [ebp - 0x158], ecx
mov ecx, edx
xor ecx, 0x433e6844
mov dword [ebp - 0x8c], ecx
mov ecx, edx
xor ecx, 0x433e6800
mov dword [ebp - 0x154], ecx
mov ecx, edx
xor ecx, 0x433e6847
mov dword [ebp - 0x150], ecx
mov ecx, edx
xor ecx, 0x433e6801
mov dword [ebp - 0x14c], ecx
mov ecx, edx
xor ecx, 0x433e6846
mov dword [ebp - 0x148], ecx
mov ecx, edx
xor ecx, 0x433e6802
mov dword [ebp - 0x144], ecx
mov ecx, edx
xor ecx, 0x433e6841
mov dword [ebp - 0x140], ecx
mov ecx, edx
xor ecx, 0x433e6803
mov dword [ebp - 0x13c], ecx
mov ecx, edx
xor ecx, 0x433e6840
mov dword [ebp - 0x138], ecx
mov ecx, edx
xor ecx, 0x433e683c
mov dword [ebp - 0x134], ecx
mov ecx, edx
xor ecx, 0x433e6843
mov dword [ebp - 0x130], ecx
mov ecx, edx
xor ecx, 0x433e683d
mov dword [ebp - 0x12c], ecx
mov ecx, edx
xor ecx, 0x433e6842
mov dword [ebp - 0x128], ecx
mov ecx, edx
xor ecx, 0x433e683e
mov dword [ebp - 0x124], ecx
mov ecx, edx
xor ecx, 0x433e687d
mov dword [ebp - 0x120], ecx
mov ecx, edx
xor ecx, 0x433e683f
mov dword [ebp - 0x11c], ecx
mov ecx, edx
xor ecx, 0x433e687c
mov dword [ebp - 0x88], ecx
mov ecx, edx
xor ecx, 0x433e6838
mov dword [ebp - 0x118], ecx
mov ecx, edx
xor ecx, 0x433e687f
mov dword [ebp - 0xa0], ecx
mov ecx, edx
xor ecx, 0x433e6839
mov dword [ebp - 0x114], ecx
mov ecx, edx
xor ecx, 0x433e687e
mov dword [ebp - 0x110], ecx
mov ecx, edx
xor ecx, 0x433e683a
mov dword [ebp - 0x10c], ecx
mov ecx, edx
xor ecx, 0x433e6879
mov dword [ebp - 0x108], ecx
mov ecx, edx
xor ecx, 0x433e683b
mov dword [ebp - 0x104], ecx
mov ecx, edx
xor ecx, 0x433e6878
mov dword [ebp - 0x78], ecx
mov ecx, edx
xor ecx, 0x433e6834
mov dword [ebp - 0x100], ecx
mov ecx, edx
xor ecx, 0x433e687b
mov dword [ebp - 0xfc], ecx
mov ecx, edx
xor ecx, 0x433e6835
mov dword [ebp - 0xf8], ecx
mov ecx, edx
xor ecx, 0x433e687a
mov dword [ebp - 0xf4], ecx
mov ecx, edx
xor ecx, 0x833e685c
mov dword [ebp - 0x208], ecx
mov ecx, edx
xor ecx, 0x33e685c
mov dword [ebp - 0xd4], ecx
mov ecx, edx
xor ecx, 0x433928dc
mov dword [ebp - 0x204], ecx
mov ecx, edx
xor ecx, 0x433e6894
mov dword [ebp - 0xbc], ecx
movzx ecx, byte [ebp - 0x25]
mov ch, cl
xor ch, 0x4c
mov byte [ebp - 0x72], ch
mov esi, edx
xor esi, 0x433e6a5c
mov dword [ebp - 0x1f8], esi
xor cl, 0xec
mov byte [ebp - 0x71], cl
mov ecx, edx
xor ecx, 0x4339a8d4
mov dword [ebp - 0x1f4], ecx
mov ecx, edx
xor ecx, 0x433e6a4c
mov dword [ebp - 0x1f0], ecx
mov ecx, edx
xor ecx, 0x433e67a3
mov dword [ebp - 0x9c], ecx
mov ecx, edx
xor ecx, 0xbcc197a0
mov dword [ebp - 0x84], ecx
mov ecx, edx
xor ecx, 0x43137c5c
mov dword [ebp - 0x200], ecx
mov ecx, edx
xor ecx, 0x433e68ca
mov dword [ebp - 0x1fc], ecx
mov ecx, edx
xor ecx, 0x3cc197a3
mov dword [ebp - 0xb4], ecx
mov ecx, edx
xor ecx, 0x433e67a2
mov dword [ebp - 0xb0], ecx
xor edx, 0xbcc197bc
mov dword [ebp - 0x7c], edx
mov byte [ebp - 0x1d], 0x41
mov ecx, dword [ebp - 0x44]
lea edx, [ecx + ebp]
add edx, 0xfffffdc0
mov dword [ebp - 0x98], edx
add ecx, ebp
add ecx, 0xfffffdcc
mov dword [ebp - 0x1ec], ecx
jmp 0x6c263b
mov eax, dword [ebp - 0xa4]
shr eax, 1
inc byte [ebp - 0x1d]
test eax, eax
je 0x6c3708
nop
movzx ecx, byte [ebp - 0x1d]
mov edx, dword [ebp - 0x98]
mov byte [edx], cl
mov dword [ebp - 0xa4], eax
test al, 1
je 0x6c2630
nop
mov dword [ebp - 0x10], 0xc
push dword [ebp - 0x98]
call dword [0x834214]
cmp eax, 4
je 0x6c2630
cmp eax, 2
jne 0x6c2683
movzx eax, byte [ebp - 0x1d]
xor al, byte [ebp - 0x25]
cmp al, 0x1d
je 0x6c2630
nop
push 0
push dword [ebp - 0xd4]
mov eax, dword [ebp - 0x94]
push eax
push 0
push eax
push dword [ebp - 0x208]
lea eax, [ebp - 0x240]
push eax
call dword [0x8340c4]
nop
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
je 0x6c2766
xorps xmm0, xmm0
movsd qword [ebp - 0x248], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x258], xmm0
mov dword [ebp - 0x20c], 0
mov dword [ebp - 0x10], 0xd
sub esp, 0x10
movups xmmword [esp], xmm0
call dword [0x834230]
mov ecx, eax
mov dword [ebp - 0x70], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x46c], xmm0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ecx
mov dword [ebp + eax - 0x46c], ecx
mov dword [ebp - 0x10], 0x12
lea eax, [ebp - 0x46c]
push eax
lea eax, [ebp - 0x20c]
push eax
push dword [ebp - 0x8c]
lea eax, [ebp - 0x258]
push eax
push 0
push 0
push dword [ebp - 0x204]
push dword [ebp - 0x24]
call dword [0x8340e8]
mov cl, 1
mov dword [ebp - 0x40], ecx
test eax, eax
jne 0x6c279d
nop
push dword [ebp - 0xbc]
push dword [ebp - 0x2c]
call dword [0x8340a8]
test eax, eax
je 0x6c2775
mov dword [ebp - 0x40], 0
jmp 0x6c279d
mov dword [ebp - 0x258], 0
jmp 0x6c2e1d
nop
mov dword [ebp - 0x234], 0
push 0
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x46c]
push eax
push dword [ebp - 0x24]
call dword [0x834234]
test eax, eax
je 0x6c275d
mov dword [ebp - 0x10], 1
push dword [ebp - 0x2c]
call dword [0x834070]
nop
mov eax, dword [ebp - 0x94]
movzx eax, byte [ebp + eax - 0x258]
test al, al
setne cl
test byte [ebp - 0x40], cl
je 0x6c2dfb
mov dword [ebp - 0x210], 0
test byte [ebp - 0x72], al
mov ebx, 0xfd
mov eax, 0xb0
cmove ebx, eax
xor bl, byte [ebp - 0x25]
push 0x211
push 0
lea esi, [ebp - 0x46c]
push esi
call fcn.007311f0
add esp, 0xc
xorps xmm0, xmm0
mov eax, dword [ebp - 0x1ec]
movups xmmword [eax + 0xd], xmm0
movups xmmword [eax], xmm0
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x234], eax
mov eax, dword [ebp - 0xd0]
mov byte [ebp + eax - 0x234], 1
mov eax, dword [ebp - 0xcc]
mov byte [ebp + eax - 0x234], 1
mov eax, dword [ebp - 0xc8]
movzx ecx, byte [ebp - 0x71]
mov byte [ebp + eax - 0x234], cl
mov eax, dword [ebp - 0xc4]
mov byte [ebp + eax - 0x234], bl
mov dword [ebp - 0x10], 0xd
push 0
lea eax, [ebp - 0x210]
push eax
push dword [ebp - 0x1f0]
push esi
push dword [ebp - 0x88]
lea eax, [ebp - 0x234]
push eax
push dword [ebp - 0x1f4]
push dword [ebp - 0x24]
call dword [0x8340e8]
test eax, eax
je 0x6c2dfd
mov eax, dword [ebp - 0xc0]
mov word [ebp + eax - 0x70], 0
mov eax, dword [ebp - 0x1e8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov byte [ebp - 0x6f], al
mov eax, dword [ebp - 0x1e4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov byte [ebp - 0x70], al
mov eax, dword [ebp - 0x1e0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x94]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1dc]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov byte [ebp - 0x6e], al
mov eax, dword [ebp - 0x1d8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0xd0]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1d4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x44]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1d0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x1cc]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1c8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0xcc]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1c4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0xc8]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1c0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x90]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1bc]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x1b8]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1b4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0xc4]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1b0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x1ac]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1a8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0xb8]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x1a4]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov edi, dword [ebp - 0x3c]
mov byte [ebp + edi - 0x70], al
mov eax, dword [ebp - 0x1a0]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x19c]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x198]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x194]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x190]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov esi, dword [ebp - 0x34]
mov byte [ebp + esi - 0x70], al
mov eax, dword [ebp - 0x18c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x188]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x184]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x180]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x17c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x178]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x174]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ebx, dword [ebp - 0x38]
mov byte [ebp + ebx - 0x70], al
mov eax, dword [ebp - 0x170]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x16c]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x168]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x164]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x160]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x15c]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x158]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x8c]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x154]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x150]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x14c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x148]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x144]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x140]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x13c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x138]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x134]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x130]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x12c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x128]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x124]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x120]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x11c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x88]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x118]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0xa0]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x114]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x110]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x10c]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0x108]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x104]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov dword [0x87536c], 0xc56a64db
mov ecx, dword [ebp - 0x78]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0x100]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0xfc]
mov byte [ebp + ecx - 0x70], al
mov eax, dword [ebp - 0xf8]
movzx eax, byte [ebp + eax - 0x46c]
push eax
call fcn.00703909
add esp, 4
mov ecx, dword [ebp - 0xf4]
mov byte [ebp + ecx - 0x70], al
mov dword [ebp + esi - 0xec], 0
mov dword [ebp + ebx - 0xec], edi
mov byte [ebp - 0xec], 0
lea ebx, [ebp - 0x70]
push ebx
call fcn.00700090
add esp, 4
cmp eax, edi
jbe 0x6c2fc2
sub esp, 0xc
movzx ecx, byte [ebp - 0xac]
mov byte [esp + 4], cl
mov dword [esp + 8], ebx
mov dword [esp], eax
lea ecx, [ebp - 0xec]
call fcn.0045afa0
jmp 0x6c2fff
jmp 0x6c2dfd
nop
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0x258], 0
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
mov dword [ebp - 0x10], 0xd
jne 0x6c2e52
nop
mov dword [ebp - 0x10], 0xd
push 0
push dword [ebp - 0xd4]
mov eax, dword [ebp - 0x94]
push eax
push 0
push eax
push 0
lea eax, [ebp - 0x240]
push eax
call dword [0x8340c4]
mov dword [ebp - 0x24], eax
cmp eax, 0xffffffff
je 0x6c36cd
xorps xmm0, xmm0
movsd qword [ebp - 0x3de], xmm0
xorps xmm0, xmm0
movups xmmword [ebp - 0x3ec], xmm0
movups xmmword [ebp - 0x3fc], xmm0
movups xmmword [ebp - 0x40c], xmm0
movups xmmword [ebp - 0x41c], xmm0
movups xmmword [ebp - 0x42c], xmm0
movups xmmword [ebp - 0x43c], xmm0
movups xmmword [ebp - 0x44c], xmm0
movups xmmword [ebp - 0x45c], xmm0
movups xmmword [ebp - 0x46c], xmm0
sub esp, 0x10
movups xmmword [esp], xmm0
call dword [0x834230]
nop
mov edx, dword [ebp - 0x24]
mov ecx, eax
mov dword [ebp - 0x234], eax
xorps xmm0, xmm0
movups xmmword [ebp - 0x70], xmm0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x2c], ecx
mov dword [ebp + eax - 0x70], ecx
mov dword [ebp - 0x10], 0x10
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x258]
push eax
mov eax, dword [ebp - 0x1fc]
push eax
lea ecx, [ebp - 0x46c]
push ecx
push eax
push ecx
push dword [ebp - 0x200]
push edx
call dword [0x8340e8]
test eax, eax
je 0x6c2f05
mov dword [ebp - 0x24], 0
jmp 0x6c2f22
nop
push dword [ebp - 0xbc]
push dword [ebp - 0x2c]
call dword [0x8340a8]
test eax, eax
je 0x6c3116
mov al, 1
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x10], 5
push dword [ebp - 0x2c]
call dword [0x834070]
nop
cmp byte [ebp - 0x24], 0
jne 0x6c36cd
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0x46c], eax
jne 0x6c36cd
nop
mov eax, dword [ebp - 0xb8]
mov eax, dword [ebp + eax - 0x46c]
test eax, eax
je 0x6c33b3
lea esi, [eax + ebp]
add esi, 0xfffffb94
mov edi, dword [ebp - 0x34]
mov dword [ebp + edi - 0x70], 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax - 0x70], ebx
mov byte [ebp - 0x70], 0
push esi
call fcn.00700090
add esp, 4
cmp eax, ebx
jbe 0x6c31b5
nop
mov dword [ebp - 0x10], 0xd
sub esp, 0xc
movzx ecx, byte [ebp - 0x234]
mov byte [esp + 4], cl
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [ebp - 0x70]
call fcn.0045afa0
jmp 0x6c31e9
mov dword [ebp + esi - 0xec], eax
mov edx, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, edx
mov dword [ebp - 0x10], 0xffffffff
mov esi, eax
call dword [0x834360]
push esi
push ebx
lea eax, [ebp - 0xec]
push eax
call ecx
add esp, 0xc
mov byte [ebp + esi - 0xec], 0
mov edx, dword [0x88af58]
mov dword [ebp - 0x40], 0x88af48
mov eax, dword [ebp - 0x3c]
cmp dword [0x88af5c], eax
jbe 0x6c301f
mov eax, dword [0x88af48]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + eax - 0xec]
lea esi, [ebp - 0xec]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
cmp dword [ebp + ecx - 0xec], eax
jbe 0x6c3044
mov esi, dword [ebp - 0xec]
test edx, edx
je 0x6c30a9
sub edi, edx
jb 0x6c30b1
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
mov byte [ebp - 0x24], al
nop word cs:[eax + eax]
nop
movzx eax, byte [ebp - 0x24]
cmp byte [esi + edi], al
jne 0x6c30a2
nop
mov eax, dword [0x8752a0]
mov ecx, dword [0x875298]
sub ecx, dword [ebp - 0x30]
add ecx, eax
lea eax, [esi + edi]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xffffffff
mov ebx, edx
call dword [0x834360]
push ebx
push dword [ebp - 0x40]
push dword [ebp - 0x2c]
call ecx
mov edx, ebx
add esp, 0xc
test eax, eax
je 0x6c30a9
test edi, edi
je 0x6c30b1
dec edi
jmp 0x6c3060
test edi, edi
je 0x6c3159
nop
mov ecx, dword [ebp + 8]
mov ebx, dword [ebp - 0x44]
mov esi, dword [ecx + ebx]
mov eax, dword [ebp - 0x90]
cmp esi, dword [ecx + eax]
je 0x6c3144
mov eax, dword [ebp - 0x34]
mov dword [esi + eax], 0
mov eax, dword [ebp - 0x38]
mov dword [esi + eax], 0
mov eax, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
mov edi, dword [ebp - 0x8c]
push edi
lea eax, [ebp - 0xec]
push eax
push esi
call ecx
add esp, 0xc
mov eax, dword [ebp + 8]
add dword [eax + ebx], edi
jmp 0x6c31b0
nop
mov dword [ebp - 0xec], 0
push 0
lea eax, [ebp - 0xec]
push eax
lea eax, [ebp - 0x70]
push eax
push dword [ebp - 0x24]
call dword [0x834234]
test eax, eax
jne 0x6c2efc
jmp 0x6c2f1d
nop
mov dword [ebp - 0x10], 0x11
lea eax, [ebp - 0xec]
push eax
push esi
call fcn.006c3d10
nop
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax - 0xec]
cmp eax, dword [ebp - 0x3c]
jbe 0x6c31b0
nop
mov ecx, dword [ebp - 0xec]
mov edx, eax
xor edx, 1
mov esi, eax
and esi, 1
lea edx, [edx + esi*2]
cmp edx, dword [ebp - 0x9c]
jbe 0x6c31a6
nop
mov edx, dword [ebp - 0x84]
mov esi, dword [ecx + edx]
add ecx, edx
sub ecx, esi
cmp ecx, dword [ebp - 0x88]
jae 0x6c3720
add eax, dword [ebp - 0x78]
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.0071996d
add esp, 8
jmp 0x6c36cd
mov dword [ebp + edi - 0x70], eax
mov edx, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
call dword [0x834360]
push edi
push esi
lea eax, [ebp - 0x70]
push eax
call ecx
add esp, 0xc
mov byte [ebp + edi - 0x70], 0
lea esi, [ebp - 0x70]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
cmp dword [ebp + ecx - 0x70], eax
jbe 0x6c31fb
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + eax - 0x70]
test edi, edi
je 0x6c3225
xor ebx, ebx
nop dword [eax + eax]
movsx eax, byte [esi + ebx]
push eax
call fcn.00703909
add esp, 4
mov byte [esi + ebx], al
inc ebx
cmp edi, ebx
jne 0x6c3210
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov edx, dword [ecx + eax]
mov eax, dword [ebp - 0x90]
cmp edx, dword [ecx + eax]
je 0x6c32a1
mov eax, dword [ebp - 0x34]
mov dword [edx + eax], 0
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x24], edx
mov dword [edx + ecx], 0
lea edx, [ebp - 0x70]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + ecx - 0x70], eax
jbe 0x6c325f
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x2c], edx
mov esi, dword [ebp - 0x34]
mov edi, dword [ebp + esi - 0x70]
cmp edi, esi
jae 0x6c32b8
mov eax, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
push esi
push dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x24]
push ebx
call ecx
add esp, 0xc
mov ecx, 0xf
jmp 0x6c3353
nop
mov dword [ebp - 0x10], 0xf
lea eax, [ebp - 0x70]
push eax
push edx
call fcn.006c4650
jmp 0x6c336c
mov ecx, edi
or ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x40], edi
test edi, edi
cmovs ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x10], 0xf
nop
mov dword [ebp - 0x80], ecx
jbe 0x6c3301
nop
mov eax, dword [ebp - 0x78]
add eax, ecx
push eax
call fcn.0071993d
add esp, 4
mov esi, eax
add esi, dword [ebp - 0xa0]
and esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
mov dword [esi + ecx], eax
jmp 0x6c330f
lea eax, [ecx + 1]
push eax
call fcn.0071993d
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x24]
mov dword [ebx], esi
mov eax, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov edi, dword [ebp - 0x40]
lea eax, [edi + 1]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
push dword [ebp - 0xf0]
push dword [ebp - 0x2c]
push esi
call ecx
add esp, 0xc
nop
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x80]
nop
mov dword [ebx + esi], edi
mov eax, dword [ebp - 0x38]
mov dword [ebx + eax], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x8c]
add dword [eax + ecx], edx
nop
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax - 0x70]
cmp eax, dword [ebp - 0x3c]
jbe 0x6c33b3
nop
mov ecx, dword [ebp - 0x70]
lea edx, [eax + 1]
cmp edx, dword [ebp - 0x9c]
jbe 0x6c33a9
nop
mov edx, dword [ebp - 0x84]
mov esi, dword [ecx + edx]
add ecx, edx
sub ecx, esi
cmp ecx, dword [ebp - 0x88]
jae 0x6c372d
add eax, dword [ebp - 0x78]
mov edx, eax
mov ecx, esi
push edx
push ecx
call fcn.0071996d
add esp, 8
nop
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax - 0x46c]
test eax, eax
je 0x6c36cd
lea esi, [eax + ebp]
add esi, 0xfffffb94
mov edi, dword [ebp - 0x34]
mov dword [ebp + edi - 0x70], 0
mov ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp + eax - 0x70], ebx
mov byte [ebp - 0x70], 0
push esi
call fcn.00700090
add esp, 4
cmp eax, ebx
jbe 0x6c341c
nop
mov dword [ebp - 0x10], 0xd
sub esp, 0xc
movzx ecx, byte [ebp - 0x234]
mov byte [esp + 4], cl
mov dword [esp + 8], esi
mov dword [esp], eax
lea ecx, [ebp - 0x70]
call fcn.0045afa0
jmp 0x6c3450
mov dword [ebp + edi - 0x70], eax
mov edx, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, edx
mov dword [ebp - 0x10], 0xffffffff
mov edi, eax
call dword [0x834360]
push edi
push esi
lea eax, [ebp - 0x70]
push eax
call ecx
add esp, 0xc
mov byte [ebp + edi - 0x70], 0
lea esi, [ebp - 0x70]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
cmp dword [ebp + ecx - 0x70], eax
jbe 0x6c3462
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + eax - 0x70]
test edi, edi
je 0x6c3485
xor ebx, ebx
nop
movsx eax, byte [esi + ebx]
push eax
call fcn.00703909
add esp, 4
mov byte [esi + ebx], al
inc ebx
cmp edi, ebx
jne 0x6c3470
mov edx, dword [0x88af58]
mov dword [ebp - 0x40], 0x88af48
mov eax, dword [ebp - 0x3c]
cmp dword [0x88af5c], eax
jbe 0x6c34a5
mov eax, dword [0x88af48]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x34]
mov edi, dword [ebp + eax - 0x70]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
cmp dword [ebp + ecx - 0x70], eax
mov eax, dword [ebp - 0x70]
lea esi, [ebp - 0x70]
mov dword [ebp - 0x80], eax
cmova esi, eax
test edx, edx
je 0x6c3529
sub edi, edx
jb 0x6c3531
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
mov byte [ebp - 0x24], al
nop word cs:[eax + eax]
nop
movzx eax, byte [ebp - 0x24]
cmp byte [esi + edi], al
jne 0x6c3522
nop
mov eax, dword [0x8752a0]
mov ecx, dword [0x875298]
sub ecx, dword [ebp - 0x30]
add ecx, eax
lea eax, [esi + edi]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0xffffffff
mov ebx, edx
call dword [0x834360]
push ebx
push dword [ebp - 0x40]
push dword [ebp - 0x2c]
call ecx
mov edx, ebx
add esp, 0xc
test eax, eax
je 0x6c3529
test edi, edi
je 0x6c3531
dec edi
jmp 0x6c34e0
test edi, edi
je 0x6c367f
nop
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x44]
mov ebx, dword [ecx + eax]
mov eax, dword [ebp - 0x90]
cmp ebx, dword [ecx + eax]
je 0x6c35ae
mov esi, dword [ebp - 0x34]
mov dword [ebx + esi], 0
mov ecx, dword [ebp - 0x38]
mov dword [ebx + ecx], 0
mov eax, dword [ebp - 0x3c]
cmp dword [ebp + ecx - 0x70], eax
lea ecx, [ebp - 0x70]
mov edi, dword [ebp - 0x80]
cmovbe edi, ecx
mov ecx, dword [ebp + esi - 0x70]
mov dword [0x875374], 0x565c7f40
mov dword [ebp - 0x24], ecx
cmp ecx, esi
jae 0x6c35c5
mov eax, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
push esi
push edi
push ebx
call ecx
add esp, 0xc
mov ecx, 0xf
jmp 0x6c3663
nop
mov dword [ebp - 0x10], 0xe
lea eax, [ebp - 0x70]
push eax
push ebx
call fcn.006c4650
jmp 0x6c367f
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x80], edi
mov edx, dword [ebp - 0x24]
mov ecx, edx
or ecx, eax
test edx, edx
cmovs ecx, dword [ebp - 0xb4]
cmp ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x10], 0xe
nop
mov dword [ebp - 0x40], ecx
jbe 0x6c361c
nop
mov eax, dword [ebp - 0x78]
add eax, ecx
push eax
call fcn.0071993d
add esp, 4
mov esi, dword [ebp - 0xa0]
mov ecx, esi
xor ecx, eax
mov edx, eax
and edx, esi
lea esi, [ecx + edx*2]
and esi, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x84]
mov dword [esi + ecx], eax
jmp 0x6c362a
lea eax, [ecx + 1]
push eax
call fcn.0071993d
add esp, 4
mov esi, eax
mov ebx, dword [ebp - 0x2c]
mov dword [ebx], esi
mov eax, dword [0x8752ac]
mov ecx, dword [0x87528c]
sub ecx, dword [ebp - 0x30]
add ecx, eax
mov eax, dword [ebp - 0x24]
lea edi, [eax + 1]
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
push edi
push dword [ebp - 0x80]
push esi
call ecx
add esp, 0xc
nop
mov esi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x40]
nop
mov eax, dword [ebp - 0x24]
mov dword [ebx + esi], eax
mov eax, dword [ebp - 0x38]
mov dword [ebx + eax], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x8c]
add dword [eax + ecx], edx
nop
mov eax, dword [ebp - 0x38]
mov eax, dword [ebp + eax - 0x70]
cmp eax, dword [ebp - 0x3c]
jbe 0x6c36cd
nop
mov ecx, dword [ebp - 0x70]
lea edx, [eax + 1]
cmp edx, dword [ebp - 0x9c]
jbe 0x6c36c3
nop
mov edx, dword [ebp - 0x84]
mov esi, dword [ecx + edx]
add ecx, edx
sub ecx, esi
cmp ecx, dword [ebp - 0x88]
jae 0x6c373a
mov ecx, eax
mov edx, dword [ebp - 0x78]
xor ecx, edx
and eax, edx
lea edx, [ecx + eax*2]
mov ecx, esi
push edx
push ecx
call fcn.0071996d
add esp, 8
mov eax, dword [ebp - 0xa8]
cmp eax, 0xffffffff
je 0x6c2630
nop
mov dword [ebp - 0x10], 0xa
push eax
call dword [0x834070]
jmp 0x6c2630
nop
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
add esp, 0x460
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov dword [ebp - 0x10], 3
call fcn.006fce21
nop
mov dword [ebp - 0x10], 7
call fcn.006fce21
nop
mov dword [ebp - 0x10], 8
call fcn.006fce21
nop word [eax + eax]
push ebp
sub esp, 0x20
add ebp, 0xc
mov dword [ebp - 0x1c], esp
nop
mov dword [ebp - 0x10], 6
push 2
call fcn.00700758
add esp, 4
mov dword [ebp - 0x2c], eax
nop
mov esi, dword [ebp - 0x70]
mov eax, dword [esi]
mov ecx, dword [ebp - 0x44]
mov edi, dword [eax + ecx]
mov ecx, edi
call dword [0x834360]
mov ecx, esi
call edi
nop
push dword [ebp - 0x2c]
push eax
call fcn.00705bd0
add esp, 8
mov eax, 0x6c36f0
add esp, 0x20
pop ebp
ret