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

Disassembly:
push ebp
lea ebp, [esp - 0x1f8]
sub esp, 0x1f8
push 0xfffffffffffffffe
push 0x470bd8
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x30
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 ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x449334
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 0x44935b
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x13
jl 0x449328
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 0xd
jge 0x4493b8
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x449387
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4493b0
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 0x4493b3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x44936c
mov dword [ebp - 4], 0xfffffffe
call fcn.004494e1
mov edi, 7
mov ebx, dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
test esi, esi
jle 0x4493d9
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 0x4493f8
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
sub edi, 1
jne 0x4493cf
xor ecx, ecx
lea ebx, [ebx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x44941c
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 0x449443
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 5
jl 0x449410
mov edi, 7
test esi, esi
jle 0x44945a
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 0x449479
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
sub edi, 1
jne 0x449450
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x40], ecx
cmp ecx, 1
jge 0x4494eb
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4494ad
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4494d6
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 0x4494d9
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x449492
mov dword [ebp - 4], 0xfffffffe
call fcn.004495a2
mov edi, 9
lea esp, [esp]
test esi, esi
jle 0x44950a
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 0x449529
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
sub edi, 1
jne 0x449500
mov edi, 7
mov edi, edi
test esi, esi
jle 0x44954a
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 0x449569
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
sub edi, 1
jne 0x449540
xor ecx, ecx
jmp 0x449580
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x4495ac
and esi, ecx
jmp 0x4495ae
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x10
jl 0x449580
xor ecx, ecx
jmp 0x4495c0
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x4495d9
and esi, ecx
jmp 0x4495db
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xa
jl 0x4495c0
xor ecx, ecx
jmp 0x4495f0
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x449609
and esi, ecx
jmp 0x44960b
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xe
jl 0x4495f0
xor eax, eax
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x449618
test esi, esi
jge 0x44962e
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 0x44965b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 4
jge 0x4496b0
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x44967f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x4496a8
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 0x4496ab
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x449664
mov dword [ebp - 4], 0xfffffffe
call fcn.00449714
mov dword [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 0xe
jge 0x44971e
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x4496e0
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x449709
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 0x44970c
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x4496c5
mov dword [ebp - 4], 0xfffffffe
call fcn.0044980c
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x44973c
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 0x449763
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 5
jl 0x449730
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x44977c
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 0x4497a3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x449770
xor eax, eax
lea ecx, [ecx]
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x4497b0
test esi, esi
jle 0x4497c7
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
mov ebx, dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
sub edx, ecx
jne 0x4497ed
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
nop
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, ecx
sub edx, eax
cmp edx, 1
jne 0x449816
and esi, ecx
jmp 0x449818
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x4497f0
xor eax, eax
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 6
jl 0x449825
test esi, esi
jle 0x44983c
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 0x44985c
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
mov edi, 4
test esi, esi
jle 0x44986b
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 0x44988a
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea ecx, [ebp]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
sub edi, 1
jne 0x449861
mov edi, 3
test esi, esi
jle 0x4498ad
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 0x4498cc
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea ecx, [ebp]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
sub edi, 1
jne 0x4498a3
test esi, esi
jle 0x4498ea
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 0x449909
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea ecx, [ebp]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
mov edi, 3
lea ecx, [ecx]
test esi, esi
jle 0x44992a
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 0x449949
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea ecx, [ebp]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
sub edi, 1
jne 0x449920
xor ecx, ecx
nop
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x449979
and esi, ecx
jmp 0x44997b
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x449960
xor eax, eax
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x449988
test esi, esi
jle 0x44999f
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 0x4499bf
call ebx
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 0x4499e0
cmp eax, 4
je 0x4499e0
and esi, ecx
jmp 0x4499e2
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x4499c1
push 0xfa
lea eax, [ebp]
push eax
mov ebx, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
call ebx
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 0x449a1f
cmp eax, 4
je 0x449a1f
and esi, ecx
jmp 0x449a21
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x449a00
push 0xfa
lea eax, [ebp]
push eax
call ebx
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x449a43
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 0x449a70
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 0x449a8b
and esi, ecx
jmp 0x449a8d
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x449a72
xor ecx, ecx
lea ebx, [ebx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x449aac
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 0x449ad3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x449aa0
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 0x449af9
and esi, ecx
jmp 0x449afb
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x449ae0
mov edi, 2
jmp 0x449b10
test esi, esi
jle 0x449b1a
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 0x449b39
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 0x449b10
xor eax, eax
nop
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x449b50
test esi, esi
jle 0x449b67
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 0x449b8b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x20], ecx
cmp ecx, 2
jge 0x449be0
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x449baf
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x449bd8
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 0x449bdb
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x449b94
mov dword [ebp - 4], 0xfffffffe
call fcn.00449cd2
mov edi, 2
test esi, esi
jle 0x449bfb
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 0x449c1a
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 0x449bf1
mov edi, 2
test esi, esi
jle 0x449c3d
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 0x449c5c
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 0x449c33
test esi, esi
jle 0x449c7a
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 0x449c9e
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
xor ecx, ecx
jmp 0x449cb0
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x449cdc
and esi, ecx
jmp 0x449cde
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x449cb0
xor eax, eax
jmp 0x449cf0
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x449cf0
test esi, esi
jge 0x449d06
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 0x449d33
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 0x449d4e
and esi, ecx
jmp 0x449d50
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 4
jl 0x449d35
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x449d6c
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 0x449d93
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x449d60
mov edi, 3
test esi, esi
jle 0x449daa
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 0x449dc9
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 0x449da0
xor ecx, ecx
nop
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x449dff
cmp eax, 4
je 0x449dff
and esi, ecx
jmp 0x449e01
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x449de0
push 0xfa
lea eax, [ebp]
push eax
call ebx
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 1
jge 0x449e6c
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x449e3b
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x449e64
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 0x449e67
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x449e20
mov dword [ebp - 4], 0xfffffffe
call fcn.00449f68
mov edi, 2
lea ecx, [ecx]
test esi, esi
jle 0x449e8a
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 0x449ea9
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 0x449e80
test esi, esi
jle 0x449ec7
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 0x449eeb
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov dword [ebp - 0x1c], esi
push 0xfa
lea eax, [ebp]
push eax
call ebx
mov edi, 3
jmp 0x449f00
test esi, esi
jle 0x449f0a
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 0x449f29
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 0x449f00
xor ecx, ecx
nop
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x449f72
cmp eax, 4
je 0x449f72
and esi, ecx
jmp 0x449f74
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x449f40
push 0xfa
lea eax, [ebp]
push eax
call ebx
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x28], ecx
test ecx, ecx
jge 0x449fde
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x449fad
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x449fd6
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 0x449fd9
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x449f93
mov dword [ebp - 4], 0xfffffffe
call fcn.0044a0c7
xor eax, eax
lea esp, [esp]
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x449ff0
test esi, esi
jle 0x44a007
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 0x44a02b
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x44a034
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 0x44a061
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov edi, 4
test esi, esi
jle 0x44a070