Function at 0x4361e0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x481888
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
mov dword [ebp - 4], esi
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 5
jge 0x43626c
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43623b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x436264
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 0x436267
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x436220
mov dword [ebp - 4], 0xfffffffe
call fcn.004362dc
xor ecx, ecx
lea ebx, [ebx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x43628c
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 0x4362b3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x2d
jl 0x436280
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 0x4362e6
and esi, edi
jmp 0x4362fc
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, 0x3a
jl 0x4362c0
mov dword [ebp - 4], 1
mov edi, 7
mov dword [ebp - 0x24], edi
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 0x19
jge 0x43638f
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 0x436348
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 0x436318
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
test ecx, ecx
jge 0x4363ea
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4363b9
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4363e2
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 0x4363e5
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43639f
mov dword [ebp - 4], 0xfffffffe
call fcn.004364c4
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x436404
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 0x43642b
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x1f
jl 0x4363f8
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 6
jl 0x436435
test esi, esi
jle 0x43644f
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 0x43646e
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
mov dword [ebp - 4], 3
mov edi, 7
mov dword [ebp - 0x30], edi
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 8
jge 0x436506
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 0x4364b2
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 0x436482
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, 0xf
jl 0x436510
cmp esi, 0xffff0001
jge 0x43652f
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 0x436559
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 4
mov edi, 7
mov dword [ebp - 0x38], edi
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 6
jge 0x4365e1
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 0x43659a
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 0x43656a
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 5
mov edi, 7
mov dword [ebp - 0x40], edi
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 3
jge 0x436670
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 0x436629
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 0x4365f9
mov dword [ebp - 4], 0xfffffffe
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 0x436699
and esi, edi
jmp 0x4366af
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 0x436680
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x4366c6
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 0x4366ed
xor esi, esi
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, 4
jge 0x436742
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x436711
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43673a
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 0x43673d
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4366f6
mov dword [ebp - 4], 0xfffffffe
call fcn.0043679d
mov edi, 7
mov dword [ebp - 4], edi
mov dword [ebp - 0x4c], edi
xor ecx, ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 1
jge 0x4367df
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 0x43678b
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 0x43675b
mov dword [ebp - 4], 0xfffffffe
xor edi, edi
jmp 0x4367f0
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x436809
and esi, edi
jmp 0x43681f
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 0x4367f0
mov dword [ebp - 4], 8
mov edi, 7
mov dword [ebp - 0x54], edi
xor ecx, ecx
mov dword [ebp - 0x58], ecx
cmp ecx, 5
jge 0x4368b2
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 0x43686b
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 0x43683b
mov dword [ebp - 4], 0xfffffffe
mov dword [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x5c], ecx
cmp ecx, 2
jge 0x43690e
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4368dd
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x436906
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 0x436909
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4368c2
mov dword [ebp - 4], 0xfffffffe
call fcn.004369cc
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x43692c
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 0x436953
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x436920
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 0x436960
cmp esi, 0xffff0001
jge 0x43697f
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 0x4369a9
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor edi, edi
jmp 0x4369b0
mov eax, 0xaaaaaaab
mul edi
shr edx, 1
lea ecx, [edx + edx*2]
mov edx, edi
sub edx, ecx
cmp edx, 1
jne 0x4369d6
and esi, edi
jmp 0x4369ec
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 0x4369b0
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 0x436a19
and esi, edi
jmp 0x436a2f
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 0x436a00
xor eax, eax
lea esp, [esp]
mov edx, eax
imul esi, edx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 7
jl 0x436a40
test esi, esi
jle 0x436a5a
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]
sub esi, eax
jne 0x436a76
mov dword [ebp - 0x1c], 0x11
nop
nop
nop
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x436a8f
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 0x436ab4
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, 8
jl 0x436ab6
test esi, esi
jge 0x436ad6
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 0x436afb
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0x60], ecx
test ecx, ecx
jge 0x436b4f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x436b1e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x436b47
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 0x436b4a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x436b04
mov dword [ebp - 4], 0xfffffffe
call fcn.00436bb3
mov dword [ebp - 4], 0xb
xor ecx, ecx
mov dword [ebp - 0x64], ecx
cmp ecx, 7
jge 0x436bbd
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x436b7f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x436ba8
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 0x436bab
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x436b64
mov dword [ebp - 4], 0xfffffffe
call fcn.00436d83
xor eax, eax
jmp 0x436bd0
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x436bd0
test esi, esi
jle 0x436bea
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 0x436c09
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
cmp esi, 0xffff0001
jge 0x436c1a
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 0x436c44
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x436c46
cmp esi, 0xffff0001
jge 0x436c65
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 0x436c8f
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
imul esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x436c91
test esi, esi
jle 0x436cab
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 0x436cca
mov esi, 0x11
mov dword [ebp - 0x1c], esi
nop
nop
nop
xor eax, eax
nop
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x436cd0
cmp esi, 0xffff0001
jge 0x436cef
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 0x436d19
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
mov dword [ebp - 4], 0xc
mov edi, 7
mov dword [ebp - 0x68], edi
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
cmp ecx, 2
jge 0x436dc5
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 0x436d71
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 0x436d41
mov dword [ebp - 4], 0xfffffffe
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 0x436e54
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 0x436e0d
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 0x436ddd
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x436e6c
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 0x436e93
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x436e60
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x436ea7
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 0x436eca
mov dword [ebp - 0x1c], esi
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x436ee0
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 0x436f05
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 edx, [edx + edx*2]
mov eax, edi
sub eax, edx
cmp eax, 1
jne 0x436f20
and esi, edi
jmp 0x436f36
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 0x436f07
mov dword [ebp - 4], 0xe
xor ecx, ecx
mov dword [ebp - 0x78], ecx
cmp ecx, 2
jge 0x436f96
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x436f65
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x436f8e
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 0x436f91
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x436f4a
mov dword [ebp - 4], 0xfffffffe
call fcn.0043700c
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 - 0x7c], edi
xor ecx, ecx
mov dword [ebp - 0x80], ecx
cmp ecx, 3
jge 0x43704e
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 0x436ffa
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 0x436fca
mov dword [ebp - 4], 0xfffffffe
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x437063
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 0x43708a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x437057
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 0x4370ad
and esi, edi
jmp 0x4370c3
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 0x437094
mov dword [ebp - 4], 0x10
xor ecx, ecx
mov dword [ebp - 0x84], ecx
cmp ecx, 1
jge 0x437126
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4370f5
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43711e
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 0x437121
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4370d7
mov dword [ebp - 4], 0xfffffffe
call fcn.004372e5
cmp esi, 0xffff0001
jge 0x437140
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 0x43716a
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
lea esp, [esp]
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x437170
cmp esi, 0xffff0001
jge 0x43718f
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
sub esi, edx
jne 0x4371b6
mov dword [ebp - 0x1c], 0xb
xor esi, esi
mov dword [ebp - 0x1c], esi
jge 0x4371cc
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 0x4371f1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x4371f3
cmp esi, 0xffff0001
jge 0x437212
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 0x43723c
mov esi, 0xb
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edi, edi
mov ecx, eax
not ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x437240
cmp esi, 0xffff0001
jge 0x43725f
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 0x437289
mov esi, 0xb
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0x11
mov edi, 7
mov dword [ebp - 0x88], edi
xor ecx, ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, 3
jge 0x437327
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 0x4372d3
sub edi, 1
mov dword [ebp - 0x88], edi
mov eax, esi
cdq
idiv edi
mov esi, eax
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43729d
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 0x437349
and esi, edi
jmp 0x43735f
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 0x437330
mov dword [ebp - 4], 0x12
xor ecx, ecx
mov dword [ebp - 0x90], ecx
cmp ecx, 3
jge 0x4373c2
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x437391
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4373ba
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 0x4373bd
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x437373
mov dword [ebp - 4], 0xfffffffe
call fcn.004374c1
mov eax, 1
mov ebx, 2
mov ecx, 3
mov edx, 4
mov dword [ebp - 0x1c], esi
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
jge 0x4373fb
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 0x437420
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
xor eax, eax
and ecx, eax
mov dword [ebp - 0x1c], ecx
add eax, 1
cmp eax, 3
jl 0x437422
test ecx, ecx
jge 0x437442
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 0x437467
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov ecx, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 4], 0x13
xor esi, esi
mov dword [ebp - 0x94], esi
test esi, esi
jge 0x4374cb
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43748d
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4374b6
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 0x4374b9
xor ecx, ecx
mov dword [ebp - 0x1c], ecx
add esi, 1
jmp 0x437470
mov dword [ebp - 4], 0xfffffffe
call fcn.0043757c
mov dword [ebp - 0x1c], ecx
cmp ecx, edi
jge 0x4374e3
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
sub ecx, edx
jne 0x437506
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x1c], 0x11
nop
nop
nop
mov esi, 0xffffffee
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, 4
jl 0x437520
cmp esi, edi
jle 0x43753a
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 0x437559
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 0x437588
and esi, edi
jmp 0x43759e
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 0x437560
xor eax, eax
jmp 0x4375b0
and esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x4375b0
test esi, esi
jge 0x4375d0
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 0x4375f5
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov esi, eax
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