Function at 0x427010
Capabilities:
Encode data using xor
Get common file path

Disassembly:
push ebp
lea ebp, [esp - 0x1f8]
sub esp, 0x1f8
push 0xfffffffffffffffe
push 0x46fac8
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x473534]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp + 0x1f4], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
xor esi, esi
mov dword [ebp - 0x1c], esi
xor eax, eax
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x26
jl 0x427058
test esi, esi
jle 0x42706f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
jne 0x427093
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x1b
jl 0x427095
test esi, esi
jge 0x4270ab
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 0x4270d8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 0x15
jge 0x42712d
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4270fc
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427125
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 0x427128
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4270e1
mov dword [ebp - 4], 0xfffffffe
call fcn.004271d3
xor ecx, ecx
jmp 0x427140
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x42714c
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 0x427173
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x15
jl 0x427140
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x48], ecx
cmp ecx, 0x10
jge 0x4271dd
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42719f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4271c8
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 0x4271cb
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427184
mov dword [ebp - 4], 0xfffffffe
call fcn.00427241
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 8
jge 0x42724b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42720d
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427236
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 0x427239
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4271f2
mov dword [ebp - 4], 0xfffffffe
call fcn.0042727c
xor ecx, ecx
lea esp, [esp]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x427286
and esi, ecx
jmp 0x427288
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x14
jl 0x427260
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x4272b4
cmp eax, 4
je 0x4272b4
and esi, ecx
jmp 0x4272b6
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 8
jl 0x427295
push 0xfa
lea eax, [ebp]
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
call ebx
xor eax, eax
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xb
jl 0x4272d4
test esi, esi
jge 0x4272ea
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
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
sub edx, ecx
jne 0x427319
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
jmp 0x427320
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x42733f
cmp eax, 4
je 0x42733f
and esi, ecx
jmp 0x427341
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x1d
jl 0x427320
push 0xfa
lea eax, [ebp]
push eax
call ebx
xor eax, eax
lea esp, [esp]
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0x1a
jl 0x427360
test esi, esi
jge 0x427376
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 0x42739f
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xa
jl 0x4273a1
test esi, esi
jge 0x4273b7
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 0x4273e0
call edi
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x427401
cmp eax, 4
je 0x427401
and esi, ecx
jmp 0x427403
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x4273e2
push 0xfa
lea eax, [ebp]
push eax
call ebx
xor ecx, ecx
jmp 0x427420
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x427439
and esi, ecx
jmp 0x42743b
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x427420
mov dword [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 9
jge 0x42749b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42746a
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427493
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 0x427496
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x42744f
mov dword [ebp - 4], 0xfffffffe
call fcn.004274d8
xor ecx, ecx
lea esp, [esp]
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x4274e2
cmp eax, 4
je 0x4274e2
and esi, ecx
jmp 0x4274e4
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xf
jl 0x4274b0
push 0xfa
lea eax, [ebp]
push eax
call ebx
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 2
jge 0x42754f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42751e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427547
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 0x42754a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427503
mov dword [ebp - 4], 0xfffffffe
call fcn.00427582
xor ecx, ecx
lea ecx, [ecx]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x42758c
and esi, ecx
jmp 0x42758e
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 5
jl 0x427560
xor ecx, ecx
jmp 0x4275a0
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x4275bf
cmp eax, 4
je 0x4275bf
and esi, ecx
jmp 0x4275c1
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x10
jl 0x4275a0
push 0xfa
lea eax, [ebp]
push eax
call ebx
mov edi, 6
test esi, esi
jle 0x4275e6
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 0x427605
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
sub edi, 1
jne 0x4275dc
xor eax, eax
jmp 0x427620
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x427620
test esi, esi
jge 0x427636
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 0x427663
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, ecx
sub edx, eax
cmp edx, 1
jne 0x42767e
and esi, ecx
jmp 0x427680
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 6
jl 0x427665
xor esi, esi
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
xor eax, eax
lea ecx, [ecx]
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x4276a0
test esi, esi
jge 0x4276b6
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 0x4276e3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 1
jge 0x427738
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x427707
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427730
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 0x427733
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4276ec
mov dword [ebp - 4], 0xfffffffe
call fcn.00427768
xor ecx, ecx
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x427772
and esi, ecx
jmp 0x427774
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x427746
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x4277a0
cmp eax, 4
je 0x4277a0
and esi, ecx
jmp 0x4277a2
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x427781
push 0xfa
lea eax, [ebp]
push eax
call ebx
xor ecx, ecx
lea ebx, [ebx]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x4277d9
and esi, ecx
jmp 0x4277db
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x4277c0
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 4
jge 0x42783b
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x42780a
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427833
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 0x427836
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4277ef
mov dword [ebp - 4], 0xfffffffe
call fcn.00427872
xor ecx, ecx
lea esp, [esp]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x42787c
and esi, ecx
jmp 0x42787e
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x427850
test esi, esi
jle 0x427893
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 0x4278b2
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x4278e2
cmp eax, 4
je 0x4278e2
and esi, ecx
jmp 0x4278e4
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x4278c3
push 0xfa
lea eax, [ebp]
push eax
call ebx
xor eax, eax
lea esp, [esp]
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x427900
test esi, esi
jge 0x427916
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 0x427943
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x427964
cmp eax, 4
je 0x427964
and esi, ecx
jmp 0x427966
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x427945
push 0xfa
lea eax, [ebp]
push eax
call ebx
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x427988
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 0x4279af
xor esi, esi
mov dword [ebp - 0x1c], esi
mov edi, 3
mov ebx, dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test esi, esi
jle 0x4279c4
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 0x4279e3
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea edx, [ebp]
push edx
call ebx
sub edi, 1
jne 0x4279ba
mov dword [ebp - 0x1c], esi
xor eax, eax
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x4279f8
test esi, esi
jle 0x427a0f
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
jne 0x427a33
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x427a35
test esi, esi
jle 0x427a4c
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
imul eax, eax, 0xb
mov ecx, esi
sub ecx, eax
jne 0x427a70
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 4
jge 0x427ac5
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x427a94
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427abd
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 0x427ac0
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427a79
mov dword [ebp - 4], 0xfffffffe
call fcn.00427b2f
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 1
jge 0x427b39
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x427af5
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427b1e
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 0x427b21
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427ada
mov dword [ebp - 4], 0xfffffffe
call fcn.00427ba3
mov dword [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x38], ecx
cmp ecx, 4
jge 0x427bad
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x427b69
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427b92
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 0x427b95
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427b4e
mov dword [ebp - 4], 0xfffffffe
call fcn.00427be2
xor ecx, ecx
jmp 0x427bc0
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x427bec
and esi, ecx
jmp 0x427bee
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x427bc0
xor eax, eax
jmp 0x427c00
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x427c00
test esi, esi
jle 0x427c17
lea esi, [esi + esi*2]
mov dword [ebp - 0x1c], esi
mov eax, 0x2e8ba2e9
imul esi
sar edx, 1
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
imul ecx, ecx, 0xb
mov edx, esi
sub edx, ecx
jne 0x427c3b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x427c4c
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 0x427c73
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x427c40
mov dword [ebp - 4], 0xa
xor ecx, ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 3
jge 0x427cd0
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x427c9f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x427cc8
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 0x427ccb
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x427c84
mov dword [ebp - 4], 0xfffffffe
call fcn.00427ddd
mov edi, 4
test esi, esi
jle 0x427ceb
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 0x427d0a
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
sub edi, 1
jne 0x427ce1
mov edi, 2
nop
test esi, esi
jle 0x427d2a
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 0x427d49
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
sub edi, 1
jne 0x427d20
xor ecx, ecx
jmp 0x427d60
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x427d6c
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 0x427d93
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x427d60
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x427da7
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 0x427de7
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x1c], eax
jmp 0x427de9
mov eax, esi
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x1f4]
xor ecx, ebp
call fcn.0040473f
add ebp, 0x1f8
mov esp, ebp
pop ebp
ret