Function at 0x426830
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x480d58
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x64
push ebx
push esi
push edi
mov eax, dword [0x486534]
xor dword [ebp - 8], eax
xor eax, ebp
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
xor esi, esi
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea ebx, [ebx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42687c
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4268a3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x426870
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 0x20
jge 0x426900
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4268cf
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4268f8
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4268fb
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4268b4
mov dword [ebp - 4], 0xfffffffe
call fcn.0042697c
xor eax, eax
mov edi, edi
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x1f
jl 0x426910
cmp esi, 0xffff0001
jge 0x42692f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x426959
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor edi, edi
jmp 0x426960
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x426986
and esi, edi
jmp 0x42699c
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 0x13
jl 0x426960
xor eax, eax
lea esp, [esp]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x1f
jl 0x4269b0
cmp esi, 0xffff0001
jge 0x4269cf
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4269f9
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor edi, edi
jmp 0x426a00
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x426a19
and esi, edi
jmp 0x426a2f
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 7
jl 0x426a00
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x1c
jge 0x426a8f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x426a5e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x426a87
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x426a8a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x426a43
mov dword [ebp - 4], 0xfffffffe
call fcn.00426af3
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 6
jge 0x426afd
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x426abf
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x426ae8
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x426aeb
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x426aa4
mov dword [ebp - 4], 0xfffffffe
call fcn.00426c04
xor eax, eax
jmp 0x426b10
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x12
jl 0x426b10
cmp esi, 0xffff0001
jge 0x426b2f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
sub esi, edx
jne 0x426b56
mov dword [ebp - 0x1c], 0xb
mov dword [ebp - 0x1c], 0
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
xor eax, eax
lea ebx, [ebx]
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 4
jl 0x426b70
test ecx, ecx
jle 0x426b8a
lea ecx, [ecx + ecx*4]
mov dword [ebp - 0x1c], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov edx, ecx
sub edx, eax
jne 0x426ba9
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
mov dword [ebp - 4], 3
xor esi, esi
mov dword [ebp - 0x2c], esi
cmp esi, 5
jge 0x426c0e
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x426bd0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x426bf9
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x426bfc
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x426bb5
mov dword [ebp - 4], 0xfffffffe
call fcn.00426cbc
xor esi, esi
lea esp, [esp]
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x426c2c
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x426c53
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 2
jl 0x426c20
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x426c71
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x426c96
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor edi, edi
jmp 0x426ca0
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x426cc6
and esi, edi
jmp 0x426cdc
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 2
jl 0x426ca0
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 3
jge 0x426d3c
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x426d0b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x426d34
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x426d37
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x426cf0
mov dword [ebp - 4], 0xfffffffe
call fcn.00426d9b
mov dword [ebp - 4], 5
mov edi, 7
mov dword [ebp - 0x34], edi
xor ecx, ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 3
jge 0x426ddd
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x426d89
sub edi, 1
mov dword [ebp - 0x34], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x426d59
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 6
mov edi, 7
mov dword [ebp - 0x3c], edi
xor ecx, ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 2
jge 0x426e6c
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x426e25
sub edi, 1
mov dword [ebp - 0x3c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x426df5
mov dword [ebp - 4], 0xfffffffe
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x426e90
test esi, esi
jge 0x426eb0
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x426ed5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x426ed7
test esi, esi
jle 0x426ef1
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov ecx, esi
sub ecx, eax
jne 0x426f10
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x426f2e
and esi, edi
jmp 0x426f44
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 4
jl 0x426f15
mov ecx, esi
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jge 0x426f5d
neg ecx
mov dword [ebp - 0x1c], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x426f84
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
xor eax, eax
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x426f86
test ecx, ecx
jge 0x426fa6
mov edx, ecx
neg edx
add edx, edx
add edx, edx
sub edx, ecx
mov ecx, edx
mov dword [ebp - 0x1c], ecx
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov edx, ecx
sub edx, eax
jne 0x426fcb
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov edi, 7
mov dword [ebp - 4], edi
mov dword [ebp - 0x44], edi
xor esi, esi
mov dword [ebp - 0x48], esi
test esi, esi
jge 0x42704e
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x427007
sub edi, 1
mov dword [ebp - 0x44], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x426fd8
mov dword [ebp - 4], 0xfffffffe
test ecx, ecx
jle 0x42705f
lea ecx, [ecx + ecx*4]
mov dword [ebp - 0x1c], ecx
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
add eax, edx
lea eax, [eax + eax*2]
mov edx, ecx
sub edx, eax
jne 0x42707e
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
mov dword [ebp - 4], 8
xor esi, esi
mov dword [ebp - 0x4c], esi
cmp esi, 2
jge 0x4270d6
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4270a5
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4270ce
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x4270d1
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x42708a
mov dword [ebp - 4], 0xfffffffe
call fcn.00427290
xor eax, eax
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x4270e4
test ecx, ecx
jge 0x427104
mov edx, ecx
neg edx
add edx, edx
add edx, edx
sub edx, ecx
mov ecx, edx
mov dword [ebp - 0x1c], ecx
mov eax, 0x4ec4ec4f
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov edx, ecx
sub edx, eax
jne 0x427129
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor eax, eax
jmp 0x427130
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 4
jl 0x427130
cmp ecx, 0xffff0001
jge 0x42714f
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x1c], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x427179
mov ecx, 0xb
mov dword [ebp - 0x1c], ecx
not ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0xffff0001
jge 0x42718c
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x1c], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x4271b6
mov ecx, 0xb
mov dword [ebp - 0x1c], ecx
xor eax, eax
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x4271b8
cmp ecx, 0xffff0001
jge 0x4271d7
lea ecx, [ecx + ecx*2]
mov dword [ebp - 0x1c], ecx
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
sub ecx, edx
jne 0x4271fe
mov dword [ebp - 0x1c], 0xb
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x427214
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xd
mov edx, esi
sub edx, ecx
jne 0x427239
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x50], ecx
test ecx, ecx
jge 0x42729a
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42725c
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427285
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x427288
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427242
mov dword [ebp - 4], 0xfffffffe
call fcn.00427374
test esi, esi
jle 0x4272b0
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax + eax*2]
mov edx, esi
sub edx, ecx
jne 0x4272cf
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x4272d4
cmp esi, 0xffff0001
jge 0x4272f3
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x42731d
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0x54], ecx
test ecx, ecx
jge 0x42737e
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x427340
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427369
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x42736c
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427326
mov dword [ebp - 4], 0xfffffffe
call fcn.004274dc
test esi, esi
jge 0x42739d
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
mov edi, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
sub ecx, eax
jne 0x4273c4
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x4273d2
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4273f9
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x4273c6
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x427403
test esi, esi
jge 0x427423
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x427444
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x427446
test esi, esi
jge 0x427466
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x427487
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x427493
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4274ba
xor esi, esi
mov dword [ebp - 0x1c], esi
xor edi, edi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x4274e6
and esi, edi
jmp 0x4274fc
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 3
jl 0x4274c0
mov dword [ebp - 4], 0xb
xor ecx, ecx
mov dword [ebp - 0x58], ecx
cmp ecx, 2
jge 0x42755c
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42752b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427554
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x427557
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427510
mov dword [ebp - 4], 0xfffffffe
call fcn.004276c3
xor eax, eax
lea ebx, [ebx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x427570
cmp esi, 0xffff0001
jge 0x42758f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x4275b9
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
jmp 0x4275c0
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x4275c0
cmp esi, 0xffff0001
jge 0x4275df
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x427609
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
jmp 0x427610
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x427610
cmp esi, 0xffff0001
jge 0x42762f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x427659
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
jmp 0x427660
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x427660
test esi, esi
jge 0x427680
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x4276a5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x4276cd
and esi, edi
jmp 0x4276e3
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 4
jl 0x4276a7
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x4276f0
test esi, esi
jle 0x42770a
lea esi, [esi + esi*4]
mov dword [ebp - 0x1c], esi
mov eax, 0x55555556
imul esi
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax + eax*2]
mov eax, esi
sub eax, edx
jne 0x427729
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
cmp esi, 0xffff0001
jge 0x42773a
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea ecx, [eax*8]
sub ecx, eax
mov edx, esi
sub edx, ecx
jne 0x427764
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x427766
test esi, esi
jge 0x427786
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xd
mov edx, esi
sub edx, ecx
jne 0x4277ab
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xc
mov edi, 7
mov dword [ebp - 0x5c], edi
xor ecx, ecx
mov dword [ebp - 0x60], ecx
cmp ecx, 4
jge 0x42784a
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x427803
sub edi, 1
mov dword [ebp - 0x5c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4277d3
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42785f
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x427886
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x427853
mov dword [ebp - 4], 0xd
mov edi, 7
mov dword [ebp - 0x64], edi
xor ecx, ecx
mov dword [ebp - 0x68], ecx
cmp ecx, 4
jge 0x427916
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, ecx
sub eax, edx
jne 0x4278cf
sub edi, 1
mov dword [ebp - 0x64], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42789f
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
nop
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42792c
neg esi
mov dword [ebp - 0x1c], esi
mov eax, 0x92492493
imul esi
add edx, esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
lea edx, [eax*8]
sub edx, eax
mov eax, esi
sub eax, edx
jne 0x427953
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x427920
xor eax, eax
lea ecx, [ecx]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x427960
test esi, esi
jge 0x427980
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp - 0x1c], esi
mov eax, 0x4ec4ec4f
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xd
mov ecx, esi
sub ecx, eax
jne 0x4279a5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x4279c0
and esi, edi
jmp 0x4279d6
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp - 0x1c], esi
add edi, 1
cmp edi, 3
jl 0x4279a7