Function at 0x440340
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x481fc0
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x78
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 ecx, ecx
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], ecx
xor esi, esi
mov dword [ebp - 0x20], esi
cmp esi, 5
jge 0x4403c9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x440398
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4403c1
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 0x4403c4
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x44037d
mov dword [ebp - 4], 0xfffffffe
call fcn.004404a3
xor esi, esi
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x4403e3
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 0x44040a
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 0x2b
jl 0x4403d7
xor eax, eax
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 0x22
jl 0x440414
test ecx, ecx
jle 0x44042e
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 0x44044d
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
mov dword [ebp - 4], 1
mov edi, 7
mov dword [ebp - 0x24], edi
xor esi, esi
mov dword [ebp - 0x28], esi
cmp esi, 0x1d
jge 0x4404e5
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 0x440491
sub edi, 1
mov dword [ebp - 0x24], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x440461
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edi, edi
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 8
jl 0x4404f0
test ecx, ecx
jge 0x440510
mov eax, ecx
neg eax
add eax, eax
add eax, eax
sub eax, ecx
mov ecx, eax
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 0x440535
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor esi, esi
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x440543
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 0x44056a
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 7
jl 0x440537
mov dword [ebp - 4], 2
xor esi, esi
mov dword [ebp - 0x2c], esi
cmp esi, 0x1e
jge 0x4405c7
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x440596
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4405bf
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 0x4405c2
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x44057b
mov dword [ebp - 4], 0xfffffffe
call fcn.004406e4
xor esi, esi
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x4405e1
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 0x440608
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 0xa
jl 0x4405d5
xor eax, eax
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 9
jl 0x440612
test ecx, ecx
jle 0x44062c
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 0x44064b
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
xor eax, eax
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 7
jl 0x440650
test ecx, ecx
jle 0x44066a
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 0x440689
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
mov dword [ebp - 4], 3
xor esi, esi
mov dword [ebp - 0x30], esi
cmp esi, 4
jge 0x4406ee
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4406b0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4406d9
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 0x4406dc
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x440695
mov dword [ebp - 4], 0xfffffffe
call fcn.004409b2
xor eax, eax
lea esp, [esp]
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 5
jl 0x440700
test ecx, ecx
jge 0x440720
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 0x440745
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
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, 4
jl 0x440747
cmp ecx, 0xffff0001
jge 0x440766
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 0x440790
mov ecx, 0xb
mov dword [ebp - 0x1c], ecx
xor esi, esi
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x44079e
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 0x4407c5
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 4
jl 0x440792
xor eax, eax
nop
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x4407d0
test ecx, ecx
jge 0x4407f0
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 0x440815
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor eax, eax
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x440817
test ecx, ecx
jle 0x440831
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 0x440850
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
not ecx
mov dword [ebp - 0x1c], ecx
cmp ecx, 0xffff0001
jge 0x440866
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 0x440890
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, 2
jl 0x440892
cmp ecx, 0xffff0001
jge 0x4408b1
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 0x4408db
mov ecx, 0xb
mov dword [ebp - 0x1c], ecx
xor esi, esi
lea ecx, [ecx]
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x4408ec
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 0x440913
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 2
jl 0x4408e0
not ecx
mov esi, ecx
mov dword [ebp - 0x1c], esi
cmp esi, 0xffff0001
jge 0x440930
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 0x44095a
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 1
jge 0x4409bc
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x44097e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4409a7
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 0x4409aa
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x440963
mov dword [ebp - 4], 0xfffffffe
call fcn.004409ec
xor edi, edi
lea ebx, [ebx]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x4409f6
and esi, edi
jmp 0x440a0c
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 0x4409d0
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 0x440a39
and esi, edi
jmp 0x440a4f
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 0x440a20
xor eax, eax
lea esp, [esp]
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x440a60
test esi, esi
jle 0x440a7a
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 0x440a99
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
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 0x440ab9
and esi, edi
jmp 0x440acf
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 0x440aa0
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x440ae6
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 ecx, [eax*8]
sub ecx, eax
sub esi, ecx
jne 0x440b09
mov dword [ebp - 0x1c], esi
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x440b1f
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 0x440b44
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, 2
jl 0x440b46
cmp esi, 0xffff0001
jge 0x440b65
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 0x440b8f
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 5
mov edi, 7
mov dword [ebp - 0x38], edi
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 4
jge 0x440c17
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 0x440bd0
sub edi, 1
mov dword [ebp - 0x38], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x440ba0
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 6
mov edi, 7
mov dword [ebp - 0x40], edi
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 4
jge 0x440ca6
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 0x440c5f
sub edi, 1
mov dword [ebp - 0x40], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x440c2f
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
nop
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x440cb0
cmp esi, 0xffff0001
jge 0x440ccf
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 0x440cf9
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov edi, 7
mov dword [ebp - 4], edi
mov dword [ebp - 0x48], edi
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
test ecx, ecx
jge 0x440d7c
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 0x440d35
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 0x440d06
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x440d91
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 0x440db8
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x440d85
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 1
jge 0x440e15
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x440de4
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x440e0d
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 0x440e10
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x440dc9
mov dword [ebp - 4], 0xfffffffe
call fcn.00440e3f
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 0x440e49
and esi, edi
jmp 0x440e5f
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 0x440e23
mov dword [ebp - 4], 9
mov edi, 7
mov dword [ebp - 0x54], edi
xor ecx, ecx
mov dword [ebp - 0x58], ecx
test ecx, ecx
jge 0x440ef1
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 0x440eaa
sub edi, 1
mov dword [ebp - 0x54], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x440e7b
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0xa
mov edi, 7
mov dword [ebp - 0x5c], edi
xor ecx, ecx
mov dword [ebp - 0x60], ecx
cmp ecx, 2
jge 0x440f80
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 0x440f39
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 0x440f09
mov dword [ebp - 4], 0xfffffffe
not esi
mov dword [ebp - 0x1c], esi
cmp esi, 0xffff0001
jge 0x440f9a
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 0x440fc1
lea esi, [eax + 0xb]
jmp 0x440fd1
test esi, esi
jge 0x440fd4
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 ebx, dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
sub ecx, eax
jne 0x440ffb
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xb
mov edi, 7
mov dword [ebp - 0x64], edi
xor ecx, ecx
mov dword [ebp - 0x68], ecx
test ecx, ecx
jge 0x44104a
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 0x44103b
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 0x44100c
mov dword [ebp - 4], 0xfffffffe
jmp 0x441098
xor eax, eax
lea ebx, [ebx]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x4410a0
test esi, esi
jge 0x4410c0
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 0x4410e1
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x4410f4
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 0x441115
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xc
mov edi, 7
mov dword [ebp - 0x6c], edi
xor ecx, ecx
mov dword [ebp - 0x70], ecx
cmp ecx, 3
jge 0x441165
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 0x441156
sub edi, 1
mov dword [ebp - 0x6c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x441126
mov dword [ebp - 4], 0xfffffffe
jmp 0x4411b2
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
jge 0x4411c8
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 0x4411e9
call ebx
mov ecx, eax
mov dword [ebp - 0x1c], ecx
cmp ecx, 0xffff0001
jge 0x4411f7
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 0x441221
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 0x441223
cmp ecx, 0xffff0001
jge 0x441242
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 0x44126c
mov ecx, 0xb
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xd
mov edi, 7
mov dword [ebp - 0x74], edi
xor esi, esi
mov dword [ebp - 0x78], esi
cmp esi, 3
jge 0x4412bc
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 0x4412ad
sub edi, 1
mov dword [ebp - 0x74], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x44127d
mov dword [ebp - 4], 0xfffffffe
jmp 0x441309
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
jge 0x44131f
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 0x441340
call ebx
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor esi, esi
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x44134e
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 0x441375
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 3
jl 0x441342
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x441393
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 0x4413b4
call ebx
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 0x4413b6
cmp esi, 0xffff0001
jge 0x4413d5
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 0x4413ff
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x441401
test esi, esi
jge 0x441421
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 0x441442
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xe
mov edi, 7
mov dword [ebp - 0x7c], edi
xor ecx, ecx
mov dword [ebp - 0x80], ecx
cmp ecx, 2
jge 0x4414ca
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 0x441483
sub edi, 1
mov dword [ebp - 0x7c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x441453
mov dword [ebp - 4], 0xfffffffe
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea ebx, [ebx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x4414fc
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 0x441523
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x4414f0
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xf
mov edi, 7
mov dword [ebp - 0x84], edi
xor ecx, ecx
mov dword [ebp - 0x88], ecx
cmp ecx, 2
jge 0x4415d3
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 0x44158c
sub edi, 1
mov dword [ebp - 0x84], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x441556
mov dword [ebp - 4], 0xfffffffe
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret