Function at 0x6e0ea0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xdc
nop
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x6e1f50
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.006e1f40
mov edx, dword [0x8789ac]
mov ecx, dword [0x878990]
mov edi, 0xffff8da4
sub edi, eax
sub ecx, edi
add ecx, edx
call dword [0x834360]
call ecx
mov ebx, eax
mov dword [ebp - 0x90], 0
mov eax, dword [0x8789a8]
mov esi, dword [0x878988]
mov dword [ebp - 0x54], edi
sub esi, edi
add esi, eax
mov ecx, esi
call dword [0x834360]
lea eax, [ebp - 0xe0]
lea edx, [ebp - 0x90]
mov ecx, dword [ebp + 8]
push eax
push edx
call esi
mov dword [ebp - 0xe0], 0
mov eax, ebx
xor eax, 0x2f5980b1
mov dword [ebp - 0x58], eax
mov dword [ebp + eax - 0xe0], 0
mov eax, ebx
xor eax, 0x2f5980bd
mov dword [ebp - 0x60], eax
mov dword [ebp + eax - 0xe0], 0
mov eax, ebx
xor eax, 0x2f5980a5
mov ecx, ebx
xor ecx, 0x2f5980a1
mov edx, ebx
xor edx, 0x2f5980ba
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x44], edx
mov dword [ebp + ecx - 0x90], edx
mov ecx, ebx
xor ecx, 0x2f5980be
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x30], ecx
mov dword [ebp + eax - 0x90], ecx
mov dword [ebp - 0x5c], ebx
mov ecx, ebx
xor cl, 0x2c
movzx eax, byte [0x8788dc]
mov byte [ebp - 0x20], cl
cmp al, cl
je 0x6e1052
mov eax, dword [ebp - 0x5c]
mov ecx, eax
xor cl, 0x6c
mov edx, eax
xor dl, 0x75
nop word cs:[eax + eax]
mov eax, ecx
lock cmpxchg byte [0x8788dc], dl
je 0x6e0fe3
cmp al, byte [ebp - 0x20]
jne 0x6e0fd0
jmp 0x6e1052
nop
mov eax, dword [ebp - 0x5c]
mov ecx, eax
xor ecx, 0x61762db5
mov dword [ebp - 0x28], ecx
mov ebx, eax
xor ebx, 0x2f5980b9
mov ecx, eax
xor cl, 0x1a
mov ch, al
xor ch, 0xe5
cmp ebx, 2
mov esi, 1
cmovge esi, ebx
xor edi, edi
xor ch, cl
nop word cs:[eax + eax]
nop
mov eax, dword [ebp - 0x28]
add eax, edi
xor edx, edx
div ebx
movzx eax, byte [edx + 0x7e94f0]
and al, ch
xor al, cl
add byte [edi + 0x8788d0], al
inc edi
cmp esi, edi
jne 0x6e1020
nop
movzx eax, byte [ebp - 0x20]
xchg byte [0x8788dc], al
mov dword [ebp - 0x10], 0xffffffff
nop
mov eax, dword [0x8789b8]
mov ecx, dword [0x878984]
sub ecx, dword [ebp - 0x54]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
mov edi, dword [ebp - 0x30]
push edi
push 0x8788d0
lea esi, [ebp - 0x90]
push esi
call ecx
add esp, 0xc
mov byte [ebp + edi - 0x90], 0
mov dword [ebp - 0x10], 3
push esi
push dword [ebp + 0x14]
call fcn.006d3570
add esp, 8
nop
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax - 0x90]
mov ecx, dword [0x889c14]
mov edx, ecx
xor edx, eax
and ecx, eax
lea ecx, [edx + ecx*2]
mov eax, 0x7e94d0
mov edx, dword [0x7e94d0]
xor edx, eax
mov esi, dword [0x7e94d4]
mov dword [ebp - 0x20], esi
mov esi, 0x7e94d8
add esi, dword [0x7e94d8]
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], ecx
cmp ecx, dword [ebp - 0x44]
jbe 0x6e11c2
nop
mov ecx, dword [0x8789bc]
lea esi, [ecx + 1]
mov dword [0x8789bc], esi
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], esi
test esi, ecx
nop
mov dword [ebp - 0x30], 0
je 0x6e1af6
nop
mov eax, dword [ebp - 0x3c]
lea edx, [eax + 1]
mov esi, dword [ebp - 0x5c]
mov eax, esi
xor eax, 0x2f598f4a
cmp edx, eax
seta al
mov edi, dword [ebp - 0x90]
movzx ecx, byte [0x889b6c]
or al, cl
test al, 1
je 0x6e11b2
mov eax, esi
xor eax, 0xd0a67f49
lea edx, [edi + eax]
mov edi, dword [edi + eax]
mov dword [ebp - 0x20], edi
sub edx, edi
mov eax, esi
xor eax, 0x2f598095
cmp edx, eax
jae 0x6e1d82
mov eax, esi
xor eax, 0x2f598091
add dword [ebp - 0x3c], eax
mov ebx, dword [0x7e94e4]
mov edx, dword [0x7e94e0]
sub edx, dword [ebp - 0x28]
sbb ebx, dword [ebp - 0x30]
xor esi, esi
xor eax, eax
mov edi, dword [ebp - 0x74]
test dword [ebp - 0x78], edi
setne al
mov edi, edx
cmovne edi, esi
cmove esi, ebx
neg eax
xor edx, eax
and edx, edi
xor eax, ebx
and eax, esi
or eax, edx
setne al
or cl, al
and cl, 1
mov byte [0x889b6c], cl
nop
mov edx, dword [ebp - 0x3c]
jmp 0x6e11b5
mov dword [ebp - 0x20], edi
nop
push edx
push dword [ebp - 0x20]
call fcn.0071996d
add esp, 8
nop
mov eax, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x58]
mov esi, dword [eax + ecx]
mov eax, dword [ebp - 0x5c]
mov edi, eax
xor edi, 0x2f5980ad
mov dword [ebp - 0x30], edi
mov edi, eax
xor edi, 0x2f598081
mov dword [ebp - 0xd4], edi
mov edi, eax
xor edi, 0x2f59808d
add edi, edx
mov dword [ebp - 0x9c], edi
mov edi, eax
xor edi, 0x2f5980fd
mov dword [ebp - 0xc8], edi
mov edi, eax
xor edi, 0x2f5980f9
mov dword [ebp - 0xc0], edi
mov edi, eax
xor edi, 0x2f5980a9
add edi, edx
mov dword [ebp - 0xa0], edi
mov edi, eax
xor edi, 0x2f598099
mov dword [ebp - 0xd0], edi
mov edi, eax
xor edi, 0x2f598085
mov dword [ebp - 0xcc], edi
mov edi, eax
xor edi, 0x2f5980b9
mov dword [ebp - 0xa4], edi
mov edi, eax
xor edi, 0x50a67f4a
mov dword [ebp - 0xc4], edi
mov edi, eax
xor edi, 0x2f598f4b
mov dword [ebp - 0xb4], edi
mov edi, eax
xor edi, 0x2f598096
mov dword [ebp - 0x98], edi
mov edi, eax
xor edi, 0xd0a67f55
mov dword [ebp - 0xb8], edi
mov edi, eax
xor edi, 0xd0a67f49
mov dword [ebp - 0x94], edi
mov edi, eax
xor edi, 0x5e814373
mov dword [ebp - 0x74], edi
mov edi, eax
xor edi, 0x2f598f4a
mov dword [ebp - 0xbc], edi
mov edi, eax
xor edi, 0x2f598095
mov dword [ebp - 0xb0], edi
xor eax, 0x2f598091
mov dword [ebp - 0xac], eax
lea eax, [edx + ecx]
mov dword [ebp - 0x6c], eax
nop
mov dword [ebp - 0xa8], esi
mov dword [ebp - 0x70], esi
nop dword [eax]
nop
mov ecx, dword [ebp - 0x70]
mov ecx, dword [ecx]
cmp ecx, dword [ebp - 0xa8]
je 0x6e1ab7
nop
mov eax, dword [ebp - 0xa4]
mov edx, dword [ecx + eax]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x70], ecx
mov eax, dword [ecx + eax]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x64], 0
jmp 0x6e132c
mov eax, dword [ebp - 0x24]
add dword [ebp - 0x64], eax
mov edx, dword [ebp - 0x40]
add edx, dword [ebp - 0x4c]
cmp edx, dword [ebp - 0x78]
je 0x6e1a60
nop
mov dword [ebp - 0x40], edx
mov eax, dword [edx]
cmp eax, 1
nop
mov dword [ebp - 0x68], eax
je 0x6e1370
test eax, eax
jne 0x6e1490
nop
mov dword [ebp - 0x24], 0
mov eax, dword [ebp + 0xc]
cmp byte [eax], 0
je 0x6e1320
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x24], eax
jmp 0x6e1320
nop
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ecx + eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x6e1680
nop
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
cmp dword [ecx + edx], eax
jbe 0x6e13a2
mov eax, dword [ebp - 0x6c]
mov edi, dword [eax]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], edi
lea eax, [edi + 1]
mov dword [ebp - 0x3c], eax
jmp 0x6e13df
sub esi, dword [ebp - 0x24]
cmp esi, 0xffffffff
jne 0x6e1497
nop word cs:[eax + eax]
mov esi, dword [ebp - 0x48]
add esi, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x38]
je 0x6e1490
nop
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
cmp dword [esi + eax], ecx
jbe 0x6e13f3
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x48], esi
mov ebx, dword [esi + eax]
mov edi, dword [ebp - 0x34]
sub edi, ebx
jb 0x6e13d0
mov al, 1
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x6e1497
nop
add edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
movsx edx, byte [eax]
mov eax, edi
mov ecx, dword [ebp - 0x24]
sub eax, ecx
push eax
mov dword [ebp - 0x28], edx
push edx
push ecx
call fcn.007332c0
add esp, 0xc
test eax, eax
je 0x6e13d0
mov esi, eax
mov dword [ebp - 0x10], 0xffffffff
nop dword [eax]
nop
mov eax, dword [0x8789a4]
mov ecx, dword [0x878998]
sub ecx, dword [ebp - 0x54]
add ecx, eax
call dword [0x834360]
push ebx
push dword [ebp - 0x20]
push esi
call ecx
add esp, 0xc
test eax, eax
je 0x6e13b6
inc esi
mov eax, edi
sub eax, esi
push eax
push dword [ebp - 0x28]
push esi
call fcn.007332c0
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x6e1440
jmp 0x6e13d0
mov dword [ebp - 0x2c], 0
cmp dword [ebp - 0x68], 2
jne 0x6e18de
nop
mov ecx, dword [ebp + 0xc]
mov eax, dword [ebp - 0xd4]
cmp byte [ecx + eax], 1
jne 0x6e155f
nop
mov eax, dword [ebp - 0x4c]
mov edx, dword [ecx + eax]
mov eax, dword [ebp - 0xc8]
mov esi, dword [ecx + eax]
mov eax, dword [ebp - 0xc4]
sub eax, edx
cmp eax, esi
jb 0x6e1d68
nop
mov eax, dword [ebp - 0x30]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x2c], esi
add edx, esi
cmp edx, dword [ebp - 0x44]
mov ecx, 0xf
lea esi, [ebp - 0x90]
mov dword [ebp - 0x28], edx
jbe 0x6e16d4
test edx, edx
js 0x6e168c
mov eax, edx
or eax, dword [ebp - 0x44]
cmp eax, 0x17
mov ecx, 0x16
cmovae ecx, eax
cmp eax, dword [ebp - 0xb4]
mov dword [ebp - 0x3c], ecx
lea eax, [ecx + 1]
mov dword [ebp - 0x10], 2
ja 0x6e1698
nop
push eax
call fcn.0071993d
add esp, 4
mov esi, eax
jmp 0x6e16c6
nop
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ecx + eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x38], eax
cmp esi, eax
je 0x6e1680
nop
mov edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0x30]
cmp dword [ecx + edx], eax
jbe 0x6e1591
mov eax, dword [ebp - 0x6c]
mov edi, dword [eax]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x24], edi
lea eax, [edi + 1]
mov dword [ebp - 0x3c], eax
jmp 0x6e15cf
sub esi, dword [ebp - 0x24]
cmp esi, 0xffffffff
jne 0x6e18de
nop word cs:[eax + eax]
mov esi, dword [ebp - 0x48]
add esi, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x38]
je 0x6e1680
nop
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
cmp dword [esi + eax], ecx
jbe 0x6e15e3
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x48], esi
mov ebx, dword [esi + eax]
mov edi, dword [ebp - 0x34]
sub edi, ebx
jb 0x6e15c0
mov al, 1
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x6e18de
nop
add edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
movsx edx, byte [eax]
mov eax, edi
mov ecx, dword [ebp - 0x24]
sub eax, ecx
push eax
mov dword [ebp - 0x28], edx
push edx
push ecx
call fcn.007332c0
add esp, 0xc
test eax, eax
je 0x6e15c0
mov esi, eax
mov dword [ebp - 0x10], 0xffffffff
nop dword [eax]
nop
mov eax, dword [0x8789a4]
mov ecx, dword [0x878998]
sub ecx, dword [ebp - 0x54]
add ecx, eax
call dword [0x834360]
push ebx
push dword [ebp - 0x20]
push esi
call ecx
add esp, 0xc
test eax, eax
je 0x6e15a5
inc esi
mov eax, edi
sub eax, esi
push eax
push dword [ebp - 0x28]
push esi
call fcn.007332c0
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x6e1630
jmp 0x6e15c0
mov dword [ebp - 0x2c], 0
jmp 0x6e18de
mov dword [ebp - 0x3c], 0x7fffffff
mov eax, 0x80000000
nop
add eax, dword [ebp - 0x98]
mov dword [ebp - 0x10], 2
push eax
call fcn.0071993d
add esp, 4
mov esi, eax
add esi, dword [ebp - 0x98]
and esi, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0x94]
mov dword [esi + ecx], eax
nop
mov dword [ebp - 0x90], esi
nop
mov edx, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
nop
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x24], eax
mov edi, dword [ebp - 0x20]
cmovbe edi, dword [ebp - 0x9c]
mov dword [ebp - 0x20], edi
cmp dword [ebp - 0x34], eax
mov edi, dword [ebp - 0x38]
cmovbe edi, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x50]
mov dword [ebp + eax - 0x90], edx
mov eax, dword [ebp - 0x4c]
mov dword [ebp + eax - 0x90], ecx
mov eax, dword [0x8789b8]
mov ecx, dword [0x878984]
sub ecx, dword [ebp - 0x54]
add ecx, eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0x834360]
mov ebx, dword [ebp - 0x48]
push ebx
push edi
push esi
call ecx
add esp, 0xc
add ebx, esi
mov eax, dword [0x8789b8]
mov ecx, dword [0x878984]
sub ecx, dword [ebp - 0x54]
add ecx, eax
call dword [0x834360]
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
push ebx
call ecx
add esp, 0xc
mov eax, dword [ebp - 0x28]
mov byte [esi + eax], 0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x34], eax
cmp edx, eax
je 0x6e1886
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x4c]
cmp dword [ebp + esi - 0x90], eax
jbe 0x6e178e
mov ecx, dword [ebp - 0x90]
mov eax, dword [ebp - 0x50]
mov eax, dword [ebp + eax - 0x90]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x24], ecx
add eax, ecx
inc eax
mov dword [ebp - 0x3c], eax
jmp 0x6e17cf
sub esi, dword [ebp - 0x24]
cmp esi, 0xffffffff
jne 0x6e188d
nop word cs:[eax + eax]
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x34]
je 0x6e1886
nop
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
cmp dword [edx + eax], ecx
jbe 0x6e17e3
mov eax, dword [edx]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x48], edx
mov ebx, dword [edx + eax]
cmp ebx, dword [ebp - 0x38]
ja 0x6e17c0
mov al, 1
mov dword [ebp - 0x2c], eax
test ebx, ebx
je 0x6e188d
nop
mov eax, dword [ebp - 0x74]
add eax, ebx
mov edi, dword [ebp - 0x38]
sub edi, eax
add edi, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
movsx edx, byte [eax]
mov eax, edi
mov ecx, dword [ebp - 0x24]
sub eax, ecx
push eax
mov dword [ebp - 0x28], edx
push edx
push ecx
call fcn.007332c0
add esp, 0xc
test eax, eax
je 0x6e17c0
mov esi, eax
mov dword [ebp - 0x10], 0xffffffff
nop word cs:[eax + eax]
nop
mov eax, dword [0x8789a4]
mov ecx, dword [0x878998]
sub ecx, dword [ebp - 0x54]
add ecx, eax
call dword [0x834360]
push ebx
push dword [ebp - 0x20]
push esi
call ecx
add esp, 0xc
test eax, eax
je 0x6e17a9
inc esi
mov eax, edi
sub eax, esi
push eax
push dword [ebp - 0x28]
push esi
call fcn.007332c0
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x6e1840
jmp 0x6e17c0
mov dword [ebp - 0x2c], 0
nop
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp + eax - 0x90]
cmp eax, dword [ebp - 0x44]
jbe 0x6e18de
nop
mov ecx, dword [ebp - 0x90]
lea edx, [eax + 1]
cmp edx, dword [ebp - 0xbc]
jbe 0x6e18d3
nop
mov edx, dword [ebp - 0x94]
mov esi, dword [ecx + edx]
add ecx, edx
sub ecx, esi
cmp ecx, dword [ebp - 0xb0]
jae 0x6e1d75
add eax, dword [ebp - 0xac]
mov edx, eax
mov ecx, esi
nop
push edx
push ecx
call fcn.0071996d
add esp, 8
nop
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx]
xor eax, dword [ebp - 0x5c]
cmp eax, 0x2f5980b6
jne 0x6e1a20
nop
mov eax, dword [ebp - 0x58]
mov esi, dword [ecx + eax]
mov eax, dword [ebp - 0x60]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x2c], eax
cmp esi, eax
je 0x6e1320
nop
mov edi, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xcc]
cmp dword [ecx + edx], eax
jbe 0x6e1931
mov eax, dword [ebp - 0xa0]
mov edi, dword [eax]
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + ecx]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edi
lea eax, [edi + 1]
mov dword [ebp - 0x3c], eax
jmp 0x6e196f
sub esi, dword [ebp - 0x34]
cmp esi, 0xffffffff
jne 0x6e1a3f
nop word [eax + eax]
mov esi, dword [ebp - 0x48]
add esi, dword [ebp - 0x30]
cmp esi, dword [ebp - 0x2c]
je 0x6e1320
nop
mov dword [ebp - 0x20], esi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x44]
cmp dword [esi + eax], ecx
jbe 0x6e1983
mov eax, dword [esi]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x48], esi
mov edi, dword [esi + eax]
mov ebx, dword [ebp - 0x38]
sub ebx, edi
jb 0x6e1960
test edi, edi
je 0x6e1a3f
nop
add ebx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x20]
movsx edx, byte [eax]
mov eax, ebx
mov ecx, dword [ebp - 0x34]
sub eax, ecx
push eax
mov dword [ebp - 0x28], edx
push edx
push ecx
call fcn.007332c0
add esp, 0xc
test eax, eax
je 0x6e1960
mov esi, eax
mov dword [ebp - 0x10], 0xffffffff
nop word [eax + eax]
nop
mov eax, dword [0x8789a4]
mov ecx, dword [0x878998]
sub ecx, dword [ebp - 0x54]
add ecx, eax
call dword [0x834360]
push edi
push dword [ebp - 0x20]
push esi
call ecx
add esp, 0xc
test eax, eax
je 0x6e194b
inc esi
mov eax, ebx
sub eax, esi
push eax
push dword [ebp - 0x28]
push esi
call fcn.007332c0
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x6e19d0
jmp 0x6e1960
nop
mov dword [ebp - 0x24], 0
cmp byte [ebp - 0x2c], 0
je 0x6e1a3a
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x24], eax
jmp 0x6e1320
nop
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x24], eax
jmp 0x6e1320
nop
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ecx + eax]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
mov dword [ebp + eax - 0x90], ecx
mov dword [ebp - 0x10], 2
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.006d7ae0
nop
push dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x70]
push dword [ecx + eax]
push dword [ebp + 0x14]
call fcn.006d3980
add esp, 0xc
jmp 0x6e12e0
nop
mov eax, dword [0x8789b4]
mov esi, dword [0x87898c]
sub esi, dword [ebp - 0x54]
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0x834360]
lea ecx, [ebp - 0xe0]
call esi
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
add esp, 0xdc
pop esi
pop edi
pop ebx
pop ebp
ret
nop
mov ecx, dword [0x8789c4]
xor ecx, dword [ebp - 0x5c]
cmp ecx, 0x60b059b3
nop
mov ecx, dword [ebp - 0x40]
jne 0x6e1b26
nop
mov ecx, dword [ebp - 0x5c]
xor ecx, 0x10a67f48
mov esi, dword [ebp - 0x40]
lea ecx, [esi + ecx*4]
mov dword [0x8789c0], 0x2671095f
nop
mov esi, dword [ecx]
cmp dword [ebp - 0x20], 0
jle 0x6e1c78
nop
mov dword [ebp - 0x28], esi
mov esi, dword [ebp - 0x5c]
mov edi, esi
shl edi, 0x1e
xor edi, esi
mov ebx, esi
xor ebx, 0x59f200c
xor edi, 0xba60dff3
add ebx, edx
add ebx, edi
not edx
and edx, eax
lea eax, [ebx + edx*2]
inc eax
mov dword [ebp - 0x48], eax
add ecx, dword [ebp - 0x28]
lea eax, [esi + esi]
xor eax, 0x5eb3016a
mov dword [ebp - 0x2c], eax
mov eax, dword [0x8789c8]
xor eax, esi
cmp eax, 0xeafd4d89
jne 0x6e1c8b
xor edx, edx
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x68], 0
mov edi, dword [ebp - 0x60]
jmp 0x6e1bc7
mov eax, dword [ebp - 0x34]
xor dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x38]
xor dword [ebp - 0x30], eax
add edx, edi
cmp edx, dword [ebp - 0x20]
jge 0x6e1117
nop
mov eax, dword [ebp - 0x48]
lea esi, [eax + edx]
mov ebx, ecx
sub ebx, esi
mov esi, dword [ebp - 0x24]
sbb esi, 0
cmp ebx, edi
sbb esi, dword [ebp - 0x2c]
mov esi, dword [eax + edx]
mov dword [ebp - 0x34], esi
mov eax, dword [eax + edx + 4]
mov dword [ebp - 0x38], eax
jge 0x6e1bb0
mov esi, ebx
mov ecx, dword [ebp - 0x58]
shl esi, cl
mov eax, ebx
neg eax
mov ecx, esi
xor ecx, eax
and eax, esi
lea eax, [ecx + eax*2]
xor eax, esi
mov esi, ebx
mov ecx, dword [ebp - 0x58]
sub esi, ecx
imul esi, ecx
and esi, ebx
lea ecx, [esi + esi]
sub eax, ecx
imul eax, ecx
shl esi, 2
mov ecx, edi
sub ecx, esi
add ecx, eax
imul ecx, edi
lea eax, [ecx + edi]
imul eax, edi
mov esi, eax
neg esi
mov ebx, ecx
xor ebx, esi
and ecx, esi
add ebx, eax
lea ecx, [ebx + ecx*2]
imul ecx, esi
add ecx, eax
mov ebx, edx
shl ebx, cl
mov eax, dword [ebp - 0x68]
lea ecx, [eax*8 + 1]
mov dword [ebp - 0x64], ecx
shl eax, 3
mov esi, edx
mov ecx, ebx
shl esi, cl
add edx, esi
mov esi, dword [ebp - 0x40]
lea ecx, [esi + eax*4]
add ecx, 4
add ecx, dword [esi + eax*4 + 4]
mov dword [ebp - 0x24], 0
nop
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
jmp 0x6e1bb0
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 0
jmp 0x6e1117
xor esi, 0x2f5980b6
mov dword [ebp - 0x64], esi
xor eax, eax
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x68], 0
mov edi, dword [ebp - 0x60]
jmp 0x6e1cd1
xor dword [ebp - 0x30], esi
xor dword [ebp - 0x28], edx
add eax, edi
cmp eax, dword [ebp - 0x20]
jge 0x6e1117
nop
mov esi, dword [ebp - 0x48]
lea edx, [esi + eax]
mov ebx, ecx
sub ebx, edx
mov edx, dword [ebp - 0x38]
sbb edx, 0
cmp ebx, edi
sbb edx, dword [ebp - 0x2c]
mov edx, dword [esi + eax]
mov esi, dword [esi + eax + 4]
jge 0x6e1cc0
nop
mov dword [ebp - 0x34], edx
mov edx, ebx
mov ecx, dword [ebp - 0x64]
shl edx, cl
test cl, 0x20
mov ecx, 0
cmovne edx, ecx
mov dword [ebp - 0x24], esi
mov esi, 0xffffffff
mov ecx, edx
shl esi, cl
test dl, 0x20
mov ecx, 0xffffffff
cmovne ecx, esi
mov dword [ebp - 0x38], 0
mov edx, 0
cmovne esi, edx
not ecx
and dword [ebp - 0x24], ecx
not esi
and dword [ebp - 0x34], esi
mov edx, dword [ebp - 0x58]
mov ecx, edx
xor ecx, ebx
sub eax, edi
add eax, ecx
and ebx, edx
lea eax, [eax + ebx*2]
mov edx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x68]
lea ecx, [edx + esi*4]
add ecx, 4
add ecx, dword [edx + esi*4 + 4]
lea edx, [esi + 1]
mov esi, dword [ebp - 0x24]
nop
mov dword [ebp - 0x68], edx
mov edx, dword [ebp - 0x34]
jmp 0x6e1cc0
nop
mov dword [ebp - 0x10], 2
call fcn.00458df0
nop
mov dword [ebp - 0x10], 1
call fcn.006fce21
nop
mov dword [ebp - 0x10], 0
call fcn.006fce21
nop
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 [0x8789b0]
mov esi, dword [0x878994]
sub esi, dword [ebp - 0x54]
add esi, eax
mov ecx, esi
call dword [0x834360]
lea ecx, [ebp - 0x90]
call esi
add esp, 0xc
pop ebp
ret