Function at 0x42caf0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x4811f8
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x4c
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 ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x1c], ebx
xor esi, esi
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xf
jl 0x42cb32
cmp esi, ebx
jge 0x42cb52
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 0x42cb77
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42cb8c
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 0x42cbb3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 8
jl 0x42cb80
mov dword [ebp - 4], ebx
mov edi, 7
mov dword [ebp - 0x20], edi
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 0x19
jge 0x42cc3f
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 0x42cbf8
sub edi, 1
mov dword [ebp - 0x20], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42cbc8
mov dword [ebp - 4], 0xfffffffe
xor edi, edi
jmp 0x42cc50
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x42cc69
and esi, edi
jmp 0x42cc7f
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, 0x12
jl 0x42cc50
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x10
jl 0x42cc90
test esi, esi
jge 0x42ccb0
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 0x42ccd5
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, 0x10
jl 0x42ccd7
test esi, esi
jle 0x42ccf1
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 0x42cd10
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 0x42cd2e
and esi, edi
jmp 0x42cd44
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, 0x1b
jl 0x42cd15
xor edi, edi
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x42cd6a
and esi, edi
jmp 0x42cd80
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 0x42cd51
test esi, esi
jle 0x42cd95
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 0x42cdb4
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
cmp esi, 0xffff0001
jge 0x42cdc5
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 0x42cdef
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42cdfd
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 0x42ce24
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 6
jl 0x42cdf1
xor ecx, ecx
mov edi, edi
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42ce3c
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 0x42ce63
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xe
jl 0x42ce30
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 1
jge 0x42cec0
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42ce8f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42ceb8
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 0x42cebb
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42ce74
mov dword [ebp - 4], 0xfffffffe
call fcn.0042cf24
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 3
jge 0x42cf2e
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42cef0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42cf19
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 0x42cf1c
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42ced5
mov dword [ebp - 4], 0xfffffffe
call fcn.0042cfd8
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x42cf40
test esi, esi
jge 0x42cf60
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 0x42cf85
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 3
mov edi, 7
mov dword [ebp - 0x30], edi
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 3
jge 0x42d01a
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 0x42cfc6
sub edi, 1
mov dword [ebp - 0x30], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42cf96
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42d02f
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 0x42d056
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x42d023
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x38], ecx
test ecx, ecx
jge 0x42d0b2
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42d081
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42d0aa
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 0x42d0ad
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42d067
mov dword [ebp - 4], 0xfffffffe
call fcn.0042d23e
test esi, esi
jge 0x42d0d1
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 0x42d0f6
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x42d0f8
cmp esi, 0xffff0001
jge 0x42d117
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 0x42d141
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x42d143
cmp esi, 0xffff0001
jge 0x42d162
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 0x42d18c
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edi, edi
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x42d190
test esi, esi
jge 0x42d1b0
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 0x42d1d5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42d1e3
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 0x42d20a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x42d1d7
xor edi, edi
mov dword [ebp - 0x1c], edi
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x42d248
and esi, edi
jmp 0x42d25e
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 0x42d222
xor ecx, ecx
jmp 0x42d270
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42d27c
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 0x42d2a3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x42d270
xor eax, eax
lea ecx, [ecx]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x42d2b0
test esi, esi
jge 0x42d2d0
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 0x42d2f5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x42d2f7
cmp esi, 0xffff0001
jge 0x42d316
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 0x42d340
mov esi, 0xb
mov dword [ebp - 0x1c], esi
not esi
mov dword [ebp - 0x1c], esi
cmp esi, 0xffff0001
jge 0x42d353
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 0x42d37d
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor ecx, ecx
nop
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42d38c
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 0x42d3b3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x42d380
xor eax, eax
lea ecx, [ecx]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x42d3c0
test esi, esi
jge 0x42d3e0
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 0x42d405
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x42d407
cmp esi, 0xffff0001
jge 0x42d426
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 0x42d450
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x42d47a
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 0x42d49f
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x42d4a1
test esi, esi
jle 0x42d4bb
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 0x42d4da
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
test esi, esi
jge 0x42d4f0
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 0x42d515
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 2
jge 0x42d56a
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42d539
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42d562
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 0x42d565
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42d51e
mov dword [ebp - 4], 0xfffffffe
call fcn.0042d59c
xor edi, edi
jmp 0x42d580
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x42d5a6
and esi, edi
jmp 0x42d5bc
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 0x42d580
xor edi, edi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea eax, [edx + edx*2]
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jne 0x42d5e9
and esi, edi
jmp 0x42d5ff
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 0x42d5d0
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x42d610
test esi, esi
jge 0x42d630
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 0x42d655
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
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 0x42d657
test esi, esi
jge 0x42d677
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
sub esi, eax
jne 0x42d698
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x1c], 0
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x40], ecx
test ecx, ecx
jge 0x42d6fe
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42d6cd
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42d6f6
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 0x42d6f9
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42d6b3
mov dword [ebp - 4], 0xfffffffe
call fcn.0042d762
mov dword [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 2
jge 0x42d76c
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42d72e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42d757
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 0x42d75a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42d713
mov dword [ebp - 4], 0xfffffffe
call fcn.0042d7cb
mov dword [ebp - 4], 8
mov edi, 7
mov dword [ebp - 0x48], edi
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 4
jge 0x42d80d
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 0x42d7b9
sub edi, 1
mov dword [ebp - 0x48], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42d789
mov dword [ebp - 4], 0xfffffffe
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 0x42d82f
and esi, edi
jmp 0x42d845
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 0x42d816
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x42d852
test esi, esi
jle 0x42d86c
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 0x42d88b
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
test esi, esi
jle 0x42d898
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 0x42d8b7
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 2
jge 0x42d90f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42d8de
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42d907
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 0x42d90a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42d8c3
mov dword [ebp - 4], 0xfffffffe
call fcn.0042d99c
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x42d934
cmp esi, 0xffff0001
jge 0x42d953
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 0x42d97d
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor edi, edi
nop
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x42d9a6
and esi, edi
jmp 0x42d9bc
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 0x42d980
test esi, esi
jge 0x42d9da
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 0x42d9ff
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 eax, [edx + edx*2]
mov ecx, edi
sub ecx, eax
cmp ecx, 1
jne 0x42da1a
and esi, edi
jmp 0x42da30
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 0x42da01
xor eax, eax
lea ecx, [ecx]
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x42da40
test esi, esi
jle 0x42da5a
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 0x42da79
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
mov edi, edi
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x42da80
test esi, esi
jge 0x42daa0
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 0x42dac5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
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 0x42dac7
test esi, esi
jge 0x42dae7
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 0x42db0c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor edi, edi
mov 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 0x42db29
and esi, edi
jmp 0x42db3f
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 0x42db10
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0x54], ecx
cmp ecx, 1
jge 0x42db9f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42db6e
mov dword [ebp - 4], 0xfffffffe
call fcn.0042dc3f
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x42dbb0