Function at 0x45c210
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x483428
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
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 ebx, [ebx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x2d
jl 0x45c250
cmp esi, 0xffff0001
jge 0x45c26f
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 0x45c299
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor edi, edi
jmp 0x45c2a0
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x45c2b9
and esi, edi
jmp 0x45c2cf
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, 0x28
jl 0x45c2a0
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 0x45c2f9
and esi, edi
jmp 0x45c30f
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 0x45c2e0
xor edi, edi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x45c339
and esi, edi
jmp 0x45c34f
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, 9
jl 0x45c320
xor eax, eax
lea esp, [esp]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x45c360
test esi, esi
jle 0x45c37a
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 0x45c399
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 1
jge 0x45c3f1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45c3c0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45c3e9
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 0x45c3ec
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45c3a5
mov dword [ebp - 4], 0xfffffffe
call fcn.0045c498
xor eax, eax
nop
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xd
jl 0x45c400
test esi, esi
jge 0x45c420
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 0x45c445
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 1
mov edi, 7
mov dword [ebp - 0x24], edi
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 6
jge 0x45c4da
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 0x45c486
sub edi, 1
mov dword [ebp - 0x24], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45c456
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xe
jl 0x45c4e3
test esi, esi
jle 0x45c4fd
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 0x45c51c
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 7
jl 0x45c521
test esi, esi
jle 0x45c53b
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 0x45c55a
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor ecx, ecx
nop
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x45c56c
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 0x45c593
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x45c560
test esi, esi
jge 0x45c5ae
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 0x45c5d3
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, 0xf
jl 0x45c5d5
test esi, esi
jge 0x45c5f5
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 0x45c61a
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor edi, edi
lea esp, [esp]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x45c639
and esi, edi
jmp 0x45c64f
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, 9
jl 0x45c620
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 3
jge 0x45c6af
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45c67e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45c6a7
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 0x45c6aa
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45c663
mov dword [ebp - 4], 0xfffffffe
call fcn.0045c71c
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 6
jl 0x45c6c0
test esi, esi
jle 0x45c6da
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 0x45c6f9
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 ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x45c726
and esi, edi
jmp 0x45c73c
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, 5
jl 0x45c700
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x45c750
test esi, esi
jge 0x45c770
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 0x45c795
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 0x45c7b0
and esi, edi
jmp 0x45c7c6
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, 8
jl 0x45c797
mov dword [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 1
jge 0x45c826
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45c7f5
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45c81e
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 0x45c821
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45c7da
mov dword [ebp - 4], 0xfffffffe
call fcn.0045c885
mov dword [ebp - 4], 4
mov edi, 7
mov dword [ebp - 0x34], edi
xor ecx, ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 8
jge 0x45c8c7
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 0x45c873
sub edi, 1
mov dword [ebp - 0x34], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45c843
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 0x45c8e9
and esi, edi
jmp 0x45c8ff
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 0x45c8d0
xor eax, eax
lea esp, [esp]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x45c910
cmp esi, 0xffff0001
jge 0x45c92f
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 0x45c959
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
jmp 0x45c960
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x45c960
cmp esi, 0xffff0001
jge 0x45c97f
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 0x45c9a9
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 5
mov edi, 7
mov dword [ebp - 0x3c], edi
xor ecx, ecx
mov dword [ebp - 0x40], ecx
test ecx, ecx
jge 0x45ca30
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 0x45c9e9
sub edi, 1
mov dword [ebp - 0x3c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45c9ba
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x45ca40
test esi, esi
jge 0x45ca60
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 0x45ca85
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 0x45ca87
test esi, esi
jge 0x45caa7
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 0x45cacc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 6
mov edi, 7
mov dword [ebp - 0x44], edi
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, 4
jge 0x45cb54
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 0x45cb0d
sub edi, 1
mov dword [ebp - 0x44], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45cadd
mov dword [ebp - 4], 0xfffffffe
mov edi, 7
mov dword [ebp - 4], edi
mov dword [ebp - 0x4c], edi
xor ecx, ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 2
jge 0x45cbde
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 0x45cb98
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 0x45cb68
mov dword [ebp - 4], 0xfffffffe
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x45cbfb
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 0x45cc20
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 0x45cc2e
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 0x45cc55
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x45cc22
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x45cc69
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
mov edx, esi
sub edx, ecx
jne 0x45cc90
xor esi, esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 8
mov edi, 7
mov dword [ebp - 0x54], edi
xor ecx, ecx
mov dword [ebp - 0x58], ecx
cmp ecx, 1
jge 0x45cd18
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 0x45ccd1
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 0x45cca1
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 9
mov edi, 7
mov dword [ebp - 0x5c], edi
xor ecx, ecx
mov dword [ebp - 0x60], ecx
cmp ecx, 4
jge 0x45cda7
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 0x45cd60
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 0x45cd30
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x45cdb0
test esi, esi
jge 0x45cdd0
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 0x45cdf5
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 0x45cdf7
cmp esi, 0xffff0001
jge 0x45ce16
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 0x45ce40
mov esi, 0xb
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 0x45ce5b
and esi, edi
jmp 0x45ce71
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 0x45ce42
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0x64], ecx
cmp ecx, 2
jge 0x45ced1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45cea0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45cec9
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 0x45cecc
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45ce85
mov dword [ebp - 4], 0xfffffffe
call fcn.0045cf7d
xor eax, eax
nop
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x45cee0
test esi, esi
jge 0x45cf00
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 0x45cf25
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xb
xor ecx, ecx
mov dword [ebp - 0x68], ecx
cmp ecx, 4
jge 0x45cf87
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45cf49
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45cf72
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 0x45cf75
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45cf2e
mov dword [ebp - 4], 0xfffffffe
call fcn.0045cfe5
mov dword [ebp - 4], 0xc
mov edi, 7
mov dword [ebp - 0x6c], edi
xor ecx, ecx
mov dword [ebp - 0x70], ecx
test ecx, ecx
jge 0x45d027
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 0x45cfd3
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 0x45cfa4
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x45d03c
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 0x45d063
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x45d030
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x1c], 0x11
nop
nop
nop
mov ecx, 0xffffffee
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0xd
xor esi, esi
mov dword [ebp - 0x74], esi
cmp esi, 2
jge 0x45d0d9
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45d0a8
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45d0d1
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 0x45d0d4
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x45d08d
mov dword [ebp - 4], 0xfffffffe
call fcn.0045d1f7
xor eax, eax
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x45d0e7
test ecx, ecx
jge 0x45d107
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 0x45d12c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor eax, eax
mov edi, edi
mov edx, eax
imul ecx, edx
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x45d130
test ecx, ecx
jle 0x45d14a
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 0x45d166
mov dword [ebp - 0x1c], 0x11
nop
nop
nop
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x45d17f
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 0x45d1a4
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xe
mov edi, 7
mov dword [ebp - 0x78], edi
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
cmp ecx, 3
jge 0x45d238
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 0x45d1e5
sub edi, 1
mov dword [ebp - 0x78], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45d1b5
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov dword [ebp - 0x1c], eax
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
nop
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x45d250
cmp esi, 0xffff0001
jge 0x45d26f
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 0x45d299
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor edi, edi
jmp 0x45d2a0
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x45d2b9
and esi, edi
jmp 0x45d2cf
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 0x45d2a0
test esi, esi
jle 0x45d2e4
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 0x45d303
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 0xf
xor ecx, ecx
mov dword [ebp - 0x80], ecx
cmp ecx, 1
jge 0x45d35b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45d32a
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45d353
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 0x45d356
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45d30f
mov dword [ebp - 4], 0xfffffffe
call fcn.0045d3c3
mov dword [ebp - 4], 0x10
mov edi, 7
mov dword [ebp - 0x84], edi
xor ecx, ecx
mov dword [ebp - 0x88], ecx
cmp ecx, 4
jge 0x45d405
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 0x45d3b1
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 0x45d37b
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edi, edi
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x45d410
test esi, esi
jle 0x45d42a
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 0x45d449
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 0x11
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, 4
jge 0x45d4a4
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x45d473
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x45d49c
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 0x45d49f
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x45d455
mov dword [ebp - 4], 0xfffffffe
call fcn.0045d4ce
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 0x45d4d8
and esi, edi
jmp 0x45d4ee
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 0x45d4b2
xor ecx, ecx
jmp 0x45d500
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x45d50c
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 0x45d533
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x45d500
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x45d540
test esi, esi
jle 0x45d55a
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]
sub esi, edx
jne 0x45d576
mov dword [ebp - 0x1c], 0x11
nop
nop
nop
mov dword [ebp - 0x1c], 0
mov eax, 0x11
mov dword [ebp - 0x1c], eax
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret