Function at 0x420240
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x480840
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]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 6
jl 0x420280
test esi, esi
jle 0x42029a
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 0x4202b9
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, 3
jge 0x420311
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4202e0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x420309
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 0x42030c
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4202c5
mov dword [ebp - 4], 0xfffffffe
call fcn.00420370
mov dword [ebp - 4], 1
mov edi, 7
mov dword [ebp - 0x24], edi
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x20
jge 0x4203b2
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 0x42035e
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 0x42032e
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
jmp 0x4203c0
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x4203cc
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 0x4203f3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x1b
jl 0x4203c0
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0x11
jge 0x420450
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42041f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x420448
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 0x42044b
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x420404
mov dword [ebp - 4], 0xfffffffe
call fcn.0042047c
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 0x420486
and esi, edi
jmp 0x42049c
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, 0x1f
jl 0x420460
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xd
jl 0x4204b0
test esi, esi
jge 0x4204d0
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 0x4204f5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x30], ecx
test ecx, ecx
jge 0x420549
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x420518
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x420541
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 0x420544
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4204fe
mov dword [ebp - 4], 0xfffffffe
call fcn.004206c4
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x18
jl 0x420557
test esi, esi
jge 0x420577
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 0x42059c
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
mov edi, edi
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x4205ac
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 0x4205d3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x1d
jl 0x4205a0
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x4205e0
cmp esi, 0xffff0001
jge 0x4205ff
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 0x420629
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
jmp 0x420630
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xc
jl 0x420630
test esi, esi
jle 0x42064a
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 0x420669
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 5
jge 0x4206ce
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x420690
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4206b9
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 0x4206bc
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x420675
mov dword [ebp - 4], 0xfffffffe
call fcn.0042077c
xor eax, eax
lea esp, [esp]
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xa
jl 0x4206e0
test esi, esi
jge 0x420700
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 0x420725
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x420731
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 0x420758
xor esi, esi
mov dword [ebp - 0x1c], esi
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 0x420786
and esi, edi
jmp 0x42079c
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, 0xf
jl 0x420760
mov dword [ebp - 4], 5
mov edi, 7
mov dword [ebp - 0x38], edi
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0xa
jge 0x42082f
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 0x4207e8
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 0x4207b8
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x10
jl 0x420838
test esi, esi
jle 0x420852
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 0x420871
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 6
mov edi, 7
mov dword [ebp - 0x40], edi
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 6
jge 0x4208fc
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 0x4208b5
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 0x420885
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 0x42091e
and esi, edi
jmp 0x420934
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, 0xa
jl 0x420905
mov dword [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, 0x10
jge 0x420994
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x420963
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x42098c
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 0x42098f
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x420948
mov dword [ebp - 4], 0xfffffffe
call fcn.004209f3
mov dword [ebp - 4], 8
mov edi, 7
mov dword [ebp - 0x4c], edi
xor ecx, ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 1
jge 0x420a35
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 0x4209e1
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 0x4209b1
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edi, edi
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xe
jl 0x420a40
test esi, esi
jge 0x420a60
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 0x420a85
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, 5
jl 0x420a87
test esi, esi
jge 0x420aa7
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 0x420acc
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
mov edi, edi
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x420adc
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 0x420b03
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 7
jl 0x420ad0
xor edi, edi
lea ecx, [ecx]
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x420b29
and esi, edi
jmp 0x420b3f
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 0x420b10
mov dword [ebp - 4], 9
mov edi, 7
mov dword [ebp - 0x54], edi
xor ecx, ecx
mov dword [ebp - 0x58], ecx
cmp ecx, 7
jge 0x420bd2
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 0x420b8b
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 0x420b5b
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 0x420c61
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 0x420c1a
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 0x420bea
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
lea ebx, [ebx]
mov edx, eax
not edx
xor esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x420c70
cmp esi, 0xffff0001
jge 0x420c8f
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 0x420cb9
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 7
jl 0x420cd2
test esi, esi
jle 0x420cec
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 0x420d0b
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 6
jl 0x420d10
test esi, esi
jge 0x420d30
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 0x420d55
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 0x420d57
test esi, esi
jge 0x420d77
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 0x420d9c
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 - 0x64], ecx
cmp ecx, 2
jge 0x420df1
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x420dc0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x420de9
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 0x420dec
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x420da5
mov dword [ebp - 4], 0xfffffffe
call fcn.00420e87
cmp esi, 0xffff0001
jge 0x420e0b
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 0x420e35
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xc
mov edi, 7
mov dword [ebp - 0x68], edi
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
test ecx, ecx
jge 0x420ec9
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 0x420e75
sub edi, 1
mov dword [ebp - 0x68], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x420e46
mov dword [ebp - 4], 0xfffffffe
xor eax, eax
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x420ed2
test esi, esi
jle 0x420eec
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 0x420f0b
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 0xd
mov edi, 7
mov dword [ebp - 0x70], edi
xor ecx, ecx
mov dword [ebp - 0x74], ecx
cmp ecx, 3
jge 0x420f96
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 0x420f4f
sub edi, 1
mov dword [ebp - 0x70], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x420f1f
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0x78], ecx
cmp ecx, 2
jge 0x420ff2
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x420fc1
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x420fea
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 0x420fed
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x420fa6
mov dword [ebp - 4], 0xfffffffe
call fcn.00421103
test esi, esi
jle 0x421008
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 0x421027
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42103c
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 0x421063
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x421030
xor eax, eax
lea ecx, [ecx]
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x421070
test esi, esi
jle 0x42108a
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 0x4210a9
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 0xf
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
test ecx, ecx
jge 0x42110d
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4210cf
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4210f8
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 0x4210fb
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4210b5
mov dword [ebp - 4], 0xfffffffe
call fcn.0042113c
xor edi, edi
jmp 0x421120
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x421146
and esi, edi
jmp 0x42115c
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 0x421120
mov dword [ebp - 0x1c], 0
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
jmp 0x421180
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x421180
cmp esi, 0xffff0001
jge 0x42119f
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 0x4211c9
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
jmp 0x4211d0
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x4211d0
test esi, esi
jle 0x4211ea
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 0x421209
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
cmp esi, 0xffff0001
jge 0x42121a
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 0x421244
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0x80], ecx
cmp ecx, 2
jge 0x421299
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x421268
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x421291
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 0x421294
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42124d
mov dword [ebp - 4], 0xfffffffe
call fcn.00421301
mov dword [ebp - 4], 0x11
mov edi, 7
mov dword [ebp - 0x84], edi
xor ecx, ecx
mov dword [ebp - 0x88], ecx
cmp ecx, 1
jge 0x421343
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 0x4212ef
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 0x4212b9
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0x12
mov edi, 7
mov dword [ebp - 0x8c], edi
xor ecx, ecx
mov dword [ebp - 0x90], ecx
cmp ecx, 3
jge 0x4213db
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 0x421394
sub edi, 1
mov dword [ebp - 0x8c], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42135e
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 0x13
xor ecx, ecx
mov dword [ebp - 0x94], ecx
cmp ecx, 4
jge 0x42143a
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x421409
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x421432
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 0x421435
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4213eb
mov dword [ebp - 4], 0xfffffffe
call fcn.004214d4
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor eax, eax
nop
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x421460
test esi, esi
jle 0x42147a
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 0x421499
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
cmp esi, 0xffff0001
jge 0x4214aa
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 0x4214de
lea esi, [edx + 0xb]
jmp 0x4214e9
cmp esi, 0xffff0001
jge 0x4214ec
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 0x421516
mov esi, 0xb
mov dword [ebp - 0x1c], esi
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