Function at 0x446830
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x482498
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x84
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 eax, eax
lea ecx, [ecx]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x3f
jl 0x446870
test esi, esi
jge 0x446890
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 0x4468b5
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 0x4468d0
and esi, edi
jmp 0x4468e6
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, 0x22
jl 0x4468b7
xor ecx, ecx
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x1e
jl 0x4468f5
cmp esi, 0xffff0001
jge 0x446914
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 0x44693e
mov esi, 0xb
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, 0x2e
jl 0x446940
cmp esi, 0xffff0001
jge 0x44695f
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 0x446989
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], ecx
mov edi, 7
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ecx
cmp ecx, 4
jge 0x446a0b
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 0x4469c4
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 0x446994
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 0x446a2d
and esi, edi
jmp 0x446a43
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, 0xd
jl 0x446a14
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xf
jl 0x446a50
test esi, esi
jge 0x446a70
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 0x446a97
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 6
jl 0x446aa0
test esi, esi
jge 0x446ac0
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 0x446ae1
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x446af4
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 0x446b15
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 1
mov edi, 7
mov dword [ebp - 0x28], edi
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 7
jge 0x446b9d
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 0x446b56
sub edi, 1
mov dword [ebp - 0x28], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x446b26
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x446bb2
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 0x446bd9
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xd
jl 0x446ba6
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x446be3
cmp esi, 0xffff0001
jge 0x446c02
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 0x446c29
lea esi, [eax + 0xb]
jmp 0x446c39
test esi, esi
jge 0x446c3c
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 0x446c61
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 2
mov edi, 7
mov dword [ebp - 0x30], edi
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 1
jge 0x446ce9
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 0x446ca2
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 0x446c72
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xf
jl 0x446cf2
test esi, esi
jge 0x446d12
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 0x446d37
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
lea esp, [esp]
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 7
jl 0x446d40
cmp esi, 0xffff0001
jge 0x446d5f
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 0x446d89
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 3
mov edi, 7
mov dword [ebp - 0x38], edi
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 7
jge 0x446e11
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 0x446dca
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 0x446d9a
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
lea ebx, [ebx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x446e2c
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 0x446e53
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xc
jl 0x446e20
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 7
jl 0x446e60
test esi, esi
jle 0x446e7a
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 0x446e99
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, 6
jl 0x446ea0
test esi, esi
jge 0x446ec0
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
sub esi, eax
jne 0x446ee1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0x1c], eax
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x446ef7
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 0x446f1c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 1
jge 0x446f71
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x446f40
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x446f69
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 0x446f6c
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x446f25
mov dword [ebp - 4], 0xfffffffe
call fcn.00447061
xor ecx, ecx
nop
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x446f8c
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 0x446fb3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x446f80
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x446fc0
cmp esi, 0xffff0001
jge 0x446fdf
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 0x447009
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 5
jge 0x44706b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x44702d
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x447056
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 0x447059
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x447012
mov dword [ebp - 4], 0xfffffffe
call fcn.00447120
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 6
jl 0x447080
test esi, esi
jge 0x4470a0
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 0x4470c5
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 0x4470d3
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 0x4470fa
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x4470c7
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 0x44712a
and esi, edi
jmp 0x447140
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 0x447104
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, 5
jge 0x4471a0
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x44716f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x447198
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 0x44719b
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x447154
mov dword [ebp - 4], 0xfffffffe
call fcn.004471fa
mov edi, 7
mov dword [ebp - 4], edi
mov dword [ebp - 0x4c], edi
xor ecx, ecx
mov dword [ebp - 0x50], ecx
test ecx, ecx
jge 0x44723c
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 0x4471e8
sub edi, 1
mov dword [ebp - 0x4c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4471b9
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x447245
cmp esi, 0xffff0001
jge 0x447264
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 0x44728e
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x54], ecx
cmp ecx, 3
jge 0x4472e3
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4472b2
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4472db
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 0x4472de
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x447297
mov dword [ebp - 4], 0xfffffffe
call fcn.0044730d
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 0x447317
and esi, edi
jmp 0x44732d
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 0x4472f1
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
jge 0x44734e
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 0x447373
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 9
mov edi, 7
mov dword [ebp - 0x58], edi
xor esi, esi
mov dword [ebp - 0x5c], esi
cmp esi, 4
jge 0x4473fb
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 0x4473b4
sub edi, 1
mov dword [ebp - 0x58], edi
mov eax, ecx
cdq
idiv edi
mov ecx, eax
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x447384
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0xa
xor esi, esi
mov dword [ebp - 0x60], esi
test esi, esi
jge 0x447456
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x447425
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x44744e
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 0x447451
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x44740b
mov dword [ebp - 4], 0xfffffffe
call fcn.004474ba
mov dword [ebp - 4], 0xb
xor esi, esi
mov dword [ebp - 0x64], esi
cmp esi, 2
jge 0x4474c4
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x447486
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4474af
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 0x4474b2
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x44746b
mov dword [ebp - 4], 0xfffffffe
call fcn.00447528
mov dword [ebp - 4], 0xc
xor esi, esi
mov dword [ebp - 0x68], esi
cmp esi, 3
jge 0x447532
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4474f4
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x44751d
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 0x447520
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x4474d9
mov dword [ebp - 4], 0xfffffffe
call fcn.00447766
xor eax, eax
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x447540
cmp ecx, 0xffff0001
jge 0x44755f
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 0x447589
mov ecx, 0xb
mov dword [ebp - 0x1c], ecx
xor esi, esi
jmp 0x447590
xor ecx, esi
mov dword [ebp - 0x1c], ecx
jge 0x44759c
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 0x4475c3
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 2
jl 0x447590
xor eax, eax
lea ecx, [ecx]
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 4
jl 0x4475d0
test ecx, ecx
jle 0x4475ea
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 0x447609
mov ecx, 0x11
mov dword [ebp - 0x1c], ecx
nop
nop
nop
mov dword [ebp - 0x1c], ecx
test ecx, ecx
jge 0x447618
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 0x44763f
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
xor eax, eax
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 2
jl 0x447641
test ecx, ecx
jge 0x447661
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 0x447686
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 0x447694
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 0x4476bb
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
cmp esi, 2
jl 0x447688
xor eax, eax
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 2
jl 0x4476c5
cmp ecx, 0xffff0001
jge 0x4476e4
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 0x44770e
mov ecx, 0xb
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xd
xor esi, esi
mov dword [ebp - 0x6c], esi
cmp esi, 1
jge 0x447770
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x447732
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x44775b
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 0x44775e
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x447717
mov dword [ebp - 4], 0xfffffffe
call fcn.00447821
xor eax, eax
mov edi, edi
mov edx, eax
not edx
xor ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 4
jl 0x447780
cmp ecx, 0xffff0001
jge 0x44779f
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 0x4477c9
mov ecx, 0xb
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xe
xor esi, esi
mov dword [ebp - 0x70], esi
cmp esi, 1
jge 0x44782b
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4477ed
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x447816
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 0x447819
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x4477d2
mov dword [ebp - 4], 0xfffffffe
call fcn.0044790c
xor eax, eax
lea esp, [esp]
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 4
jl 0x447840
test ecx, ecx
jle 0x44785a
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]
sub ecx, eax
jne 0x447876
mov dword [ebp - 0x1c], 0x11
nop
nop
nop
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x44788f
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 0x4478b4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xf
xor ecx, ecx
mov dword [ebp - 0x74], ecx
cmp ecx, 4
jge 0x447916
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4478d8
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x447901
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 0x447904
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4478bd
mov dword [ebp - 4], 0xfffffffe
call fcn.0044797a
mov dword [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0x78], ecx
cmp ecx, 2
jge 0x447984
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x447946
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x44796f
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 0x447972
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x44792b
mov dword [ebp - 4], 0xfffffffe
call fcn.004479e8
mov dword [ebp - 4], 0x11
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
cmp ecx, 2
jge 0x4479f2
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4479b4
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4479dd
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 0x4479e0
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x447999
mov dword [ebp - 4], 0xfffffffe
call fcn.00447aba
test esi, esi
jle 0x447a08
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 0x447a27
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
cmp esi, 0xffff0001
jge 0x447a38
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 0x447a62
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0x12
xor ecx, ecx
mov dword [ebp - 0x80], ecx
cmp ecx, 1
jge 0x447ac4
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x447a86
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x447aaf
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 0x447ab2
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x447a6b
mov dword [ebp - 4], 0xfffffffe
call fcn.00447aee
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 0x447af8
and esi, edi
jmp 0x447b0e
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 0x447ad2
mov dword [ebp - 4], 0x13
mov edi, 7
mov dword [ebp - 0x84], edi
xor ecx, ecx
mov dword [ebp - 0x88], ecx
test ecx, ecx
jge 0x447ba9
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 0x447b62
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 0x447b2d
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x447bb2
test esi, esi
jle 0x447bcc
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 0x447beb
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
test esi, esi
jle 0x447bf8
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 0x447c17
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 0x14
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, 1
jge 0x447c72
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x447c41
mov dword [ebp - 4], 0xfffffffe
call fcn.00447ede
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x447c97