Function at 0x422050
Capabilities:
Encode data using xor

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x78
push 0xfffffffffffffffe
push 0x4809d8
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x50
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 + 0x74], esi
xor eax, eax
nop
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 0x3f
jl 0x422090
test esi, esi
jge 0x4220b0
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp + 0x74], 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 0x4220d5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0
mov edi, 7
mov dword [ebp + 0x14], edi
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x3e
jge 0x42215d
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 0x422116
sub edi, 1
mov dword [ebp + 0x14], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4220e6
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x422166
cmp esi, 0xffff0001
jge 0x422185
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x4221af
mov esi, 0xb
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp + 0x64], ecx
cmp ecx, 0x28
jge 0x422204
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4221d3
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4221fc
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 0x4221ff
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4221b8
mov dword [ebp - 4], 0xfffffffe
call fcn.004222af
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 9
jl 0x422212
test esi, esi
jge 0x422232
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp + 0x74], 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 0x422257
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp + 0xc], ecx
cmp ecx, 0x1d
jge 0x4222b9
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42227b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4222a4
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 0x4222a7
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x422260
mov dword [ebp - 4], 0xfffffffe
call fcn.00422318
mov dword [ebp - 4], 3
mov edi, 7
mov dword [ebp + 0x5c], edi
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 0x1a
jge 0x42235a
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 0x422306
sub edi, 1
mov dword [ebp + 0x5c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4222d6
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 0xa
jl 0x422363
test esi, esi
jge 0x422383
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp + 0x74], 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 0x4223a8
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 4
mov edi, 7
mov dword [ebp + 0x54], edi
xor ecx, ecx
mov dword [ebp + 4], ecx
test ecx, ecx
jge 0x42242f
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 0x4223e8
sub edi, 1
mov dword [ebp + 0x54], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4223b9
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x422438
test esi, esi
jge 0x422458
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp + 0x74], 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 0x42247d
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor ecx, ecx
nop
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x42248c
neg esi
mov dword [ebp + 0x74], 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 0x4224b3
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 2
jl 0x422480
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x4224cc
neg esi
mov dword [ebp + 0x74], 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 0x4224f3
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 4
jl 0x4224c0
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x42250c
neg esi
mov dword [ebp + 0x74], 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 0x422533
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 0xb
jl 0x422500
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp + 0x4c], ecx
cmp ecx, 0xb
jge 0x422590
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42255f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422588
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 0x42258b
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x422544
mov dword [ebp - 4], 0xfffffffe
call fcn.00422634
xor eax, eax
mov edi, edi
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 9
jl 0x4225a0
test esi, esi
jle 0x4225ba
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x4225d9
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0xf
jge 0x42263e
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x422600
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422629
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 0x42262c
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4225e5
mov dword [ebp - 4], 0xfffffffe
call fcn.004226a2
mov dword [ebp - 4], 7
xor ecx, ecx
mov dword [ebp + 0x44], ecx
cmp ecx, 0xb
jge 0x4226ac
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42266e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422697
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 0x42269a
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x422653
mov dword [ebp - 4], 0xfffffffe
call fcn.00422710
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 1
jge 0x42271a
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4226dc
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422705
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 0x422708
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4226c1
mov dword [ebp - 4], 0xfffffffe
call fcn.0042277e
mov dword [ebp - 4], 9
xor ecx, ecx
mov dword [ebp + 0x3c], ecx
cmp ecx, 0xa
jge 0x422788
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42274a
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422773
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 0x422776
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x42272f
mov dword [ebp - 4], 0xfffffffe
call fcn.00422987
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 7
jl 0x422796
test esi, esi
jge 0x4227b6
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp + 0x74], 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 0x4227dd
call edi
mov esi, eax
mov dword [ebp + 0x74], esi
xor eax, eax
nop
mov edx, eax
not edx
xor esi, edx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 8
jl 0x4227e0
cmp esi, 0xffff0001
jge 0x4227ff
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x422829
mov esi, 0xb
mov dword [ebp + 0x74], esi
xor eax, eax
jmp 0x422830
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x422830
test esi, esi
jge 0x422850
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp + 0x74], 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 0x422871
call edi
mov esi, eax
mov dword [ebp + 0x74], esi
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x422873
test esi, esi
jge 0x422893
mov eax, esi
neg eax
add eax, eax
add eax, eax
sub eax, esi
mov esi, eax
mov dword [ebp + 0x74], 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 0x4228b4
call edi
mov esi, eax
mov dword [ebp + 0x74], esi
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x4228c2
neg esi
mov dword [ebp + 0x74], 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 0x4228e9
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 5
jl 0x4228b6
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 6
jl 0x4228f3
test esi, esi
jle 0x42290d
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x42292c
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
cmp ecx, 2
jge 0x422991
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x422953
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42297c
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 0x42297f
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x422938
mov dword [ebp - 4], 0xfffffffe
call fcn.00422a2f
xor eax, eax
nop
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 7
jl 0x4229a0
test esi, esi
jle 0x4229ba
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x4229d9
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
mov dword [ebp - 4], 0xb
mov edi, 7
mov dword [ebp + 0x34], edi
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 3
jge 0x422a71
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 0x422a1d
sub edi, 1
mov dword [ebp + 0x34], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4229ed
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
lea ebx, [ebx]
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x422a8c
neg esi
mov dword [ebp + 0x74], 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 0x422ab3
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 5
jl 0x422a80
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x422ac0
cmp esi, 0xffff0001
jge 0x422adf
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x422b09
mov esi, 0xb
mov dword [ebp + 0x74], esi
xor edi, edi
jmp 0x422b10
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x422b29
and esi, edi
jmp 0x422b3f
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
or esi, edi
mov dword [ebp + 0x74], esi
add edi, 1
cmp edi, 2
jl 0x422b10
mov dword [ebp - 4], 0xc
xor ecx, ecx
mov dword [ebp + 0x2c], ecx
cmp ecx, 5
jge 0x422b9f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x422b6e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422b97
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 0x422b9a
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x422b53
mov dword [ebp - 4], 0xfffffffe
call fcn.00422c03
mov dword [ebp - 4], 0xd
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 7
jge 0x422c0d
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x422bcf
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422bf8
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 0x422bfb
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x422bb4
mov dword [ebp - 4], 0xfffffffe
call fcn.00422d7a
xor ecx, ecx
jmp 0x422c20
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x422c2c
neg esi
mov dword [ebp + 0x74], 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 0x422c53
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 7
jl 0x422c20
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
imul esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 5
jl 0x422c60
test esi, esi
jle 0x422c7a
lea esi, [esi + esi*4]
mov dword [ebp + 0x74], 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 0x422c99
mov esi, 0x11
mov dword [ebp + 0x74], esi
nop
nop
nop
xor eax, eax
mov edi, edi
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 8
jl 0x422ca0
test esi, esi
jge 0x422cc0
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp + 0x74], 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 0x422ce5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x422cf3
neg esi
mov dword [ebp + 0x74], 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 0x422d1a
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 3
jl 0x422ce7
mov dword [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp + 0x24], ecx
cmp ecx, 2
jge 0x422d84
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x422d46
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422d6f
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 0x422d72
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x422d2b
mov dword [ebp - 4], 0xfffffffe
call fcn.00422e32
xor ecx, ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
jge 0x422d9e
neg esi
mov dword [ebp + 0x74], 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 0x422dc5
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
cmp ecx, 7
jl 0x422d92
mov dword [ebp + 0x74], 0
mov ecx, 0x11
mov dword [ebp + 0x74], ecx
nop
nop
nop
mov dword [ebp - 4], 0xf
mov edi, 7
mov dword [ebp - 0x2c], edi
xor esi, esi
mov dword [ebp + 0x1c], esi
cmp esi, 4
jge 0x422e74
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 0x422e20
sub edi, 1
mov dword [ebp - 0x2c], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x422df0
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
lea ecx, [ecx]
and ecx, eax
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 8
jl 0x422e80
test ecx, ecx
jge 0x422ea0
mov eax, ecx
neg eax
add eax, eax
add eax, eax
sub eax, ecx
mov ecx, eax
mov dword [ebp + 0x74], 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 0x422ec5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp + 0x74], ecx
xor eax, eax
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 3
jl 0x422ec7
cmp ecx, 0xffff0001
jge 0x422ee6
lea ecx, [ecx + ecx*2]
mov dword [ebp + 0x74], 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 0x422f0d
lea ecx, [eax + 0xb]
jmp 0x422f1d
test ecx, ecx
jge 0x422f20
mov edx, ecx
neg edx
add edx, edx
add edx, edx
sub edx, ecx
mov ecx, edx
mov dword [ebp + 0x74], 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 0x422f45
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp + 0x74], ecx
mov dword [ebp - 4], 0x10
xor esi, esi
mov dword [ebp - 0x54], esi
cmp esi, 4
jge 0x422f9a
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x422f69
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x422f92
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 0x422f95
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
jmp 0x422f4e
mov dword [ebp - 4], 0xfffffffe
call fcn.004230b9
xor eax, eax
and ecx, eax
mov dword [ebp + 0x74], ecx
add eax, 1
cmp eax, 2
jl 0x422fa8
test ecx, ecx
jge 0x422fc8
mov edx, ecx
neg edx
add edx, edx
add edx, edx
sub edx, ecx
mov ecx, edx
mov dword [ebp + 0x74], 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 0x422fed
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp + 0x74], ecx
xor esi, esi
nop
xor ecx, esi
mov dword [ebp + 0x74], ecx
jge 0x422ffc
neg ecx
mov dword [ebp + 0x74], 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 0x423023
xor ecx, ecx
mov dword [ebp + 0x74], ecx
add esi, 1
cmp esi, 3
jl 0x422ff0
xor esi, esi
mov dword [ebp + 0x74], esi
jge 0x423041
mov ecx, esi
neg ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
mov esi, ecx
mov dword [ebp + 0x74], 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 0x423066
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0x11
mov edi, 7
mov dword [ebp + 0x70], edi
xor ecx, ecx
mov dword [ebp + 0x6c], ecx
cmp ecx, 3
jge 0x4230fb
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 0x4230a7
sub edi, 1
mov dword [ebp + 0x70], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x423077
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp + 0x74], esi
test esi, esi
jge 0x42310e
neg esi
mov dword [ebp + 0x74], 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 0x423135
xor esi, esi
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0x12
xor ecx, ecx
mov dword [ebp + 0x68], ecx
cmp ecx, 3
jge 0x42318a
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x423159
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x423182
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 0x423185
xor esi, esi
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x42313e
mov dword [ebp - 4], 0xfffffffe
call fcn.00423234
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x423198
cmp esi, 0xffff0001
jge 0x4231b7
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x4231e1
mov esi, 0xb
mov dword [ebp + 0x74], esi
mov dword [ebp - 4], 0x13
mov edi, 7
mov dword [ebp + 0x60], edi
xor ecx, ecx
mov dword [ebp + 0x58], ecx
cmp ecx, 1
jge 0x423276
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 0x423222
sub edi, 1
mov dword [ebp + 0x60], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp + 0x74], esi
add ecx, 1
jmp 0x4231f2
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
nop
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 2
jl 0x423280
test esi, esi
jge 0x4232a0
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp + 0x74], 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 0x4232c7
call edi
mov esi, eax
mov dword [ebp + 0x74], esi
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 4
jl 0x4232d0
test esi, esi
jge 0x4232f0
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp + 0x74], 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 0x423311
call edi
mov esi, eax
mov dword [ebp + 0x74], esi
xor eax, eax
and esi, eax
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x423313
test esi, esi
jge 0x423333
mov edx, esi
neg edx
add edx, edx
add edx, edx
sub edx, esi
mov esi, edx
mov dword [ebp + 0x74], 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 0x423354
call edi
mov esi, eax
mov dword [ebp + 0x74], esi
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp + 0x74], esi
add eax, 1
cmp eax, 3
jl 0x423356
cmp esi, 0xffff0001
jge 0x423375
lea esi, [esi + esi*2]
mov dword [ebp + 0x74], 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 0x42339f
mov esi, 0xb
mov dword [ebp + 0x74], esi
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp + 0x74], esi
mov dword [ebp + 0x74], esi
test esi, esi
jge 0x4233c2
neg esi
mov dword [ebp + 0x74], 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 0x4233e9