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

Disassembly:
push ebp
lea ebp, [esp - 0x1f8]
sub esp, 0x1f8
push 0xfffffffffffffffe
push 0x470568
push 0x408890
mov eax, dword fs:[0]
push eax
sub esp, 0x40
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
jmp 0x43cd90
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x43cdaf
cmp eax, 4
je 0x43cdaf
and esi, ecx
jmp 0x43cdb1
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x1b
jl 0x43cd90
push 0xfa
lea eax, [ebp]
push eax
mov edi, dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
call edi
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 0x43cdef
cmp eax, 4
je 0x43cdef
and esi, ecx
jmp 0x43cdf1
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xf
jl 0x43cdd0
push 0xfa
lea eax, [ebp]
push eax
call edi
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x43ce1c
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 0x43ce43
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0x1c
jl 0x43ce10
xor ecx, ecx
lea 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 0x43ce6f
cmp eax, 4
je 0x43ce6f
and esi, ecx
jmp 0x43ce71
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xa
jl 0x43ce50
push 0xfa
lea eax, [ebp]
push eax
call edi
test esi, esi
jle 0x43ce91
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 0x43ceb7
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
lea esp, [esp]
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x43cec0
test esi, esi
jge 0x43ced6
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 0x43cf03
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], esi
mov edi, 0xa
test esi, esi
jle 0x43cf15
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 0x43cf34
mov esi, 0xb
mov dword [ebp - 0x1c], esi
push 0xfa
lea edx, [ebp]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemWindowsDirectoryW]
sub edi, 1
jne 0x43cf0b
xor eax, eax
lea ebx, [ebx]
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xd
jl 0x43cf50
test esi, esi
jle 0x43cf67
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 0x43cf87
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x43cf9c
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 0x43cfc3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xc
jl 0x43cf90
mov dword [ebp - 4], 0
xor ecx, ecx
mov dword [ebp - 0x44], ecx
cmp ecx, 0xa
jge 0x43d020
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43cfef
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43d018
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 0x43d01b
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43cfd4
mov dword [ebp - 4], 0xfffffffe
call fcn.0043d058
xor ecx, ecx
mov edi, edi
mov eax, 0xcccccccd
mul ecx
shr edx, 2
lea edx, [edx + edx*4]
mov eax, ecx
sub eax, edx
cmp eax, 1
je 0x43d062
cmp eax, 4
je 0x43d062
and esi, ecx
jmp 0x43d064
sub esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 0xa
jl 0x43d030
push 0xfa
lea eax, [ebp]
push eax
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov edi, 0xb
test esi, esi
jle 0x43d08d
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 0x43d0ac
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 0x43d083
xor eax, eax
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x43d0c2
test esi, esi
jge 0x43d0d8
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 0x43d105
call dword [sym.imp.KERNEL32.dll_GetLastError]
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 0x43d107
test esi, esi
jge 0x43d11d
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 0x43d14a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 1
xor ecx, ecx
mov dword [ebp - 0x50], ecx
cmp ecx, 0xe
jge 0x43d19f
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43d16e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43d197
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 0x43d19a
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43d153
mov dword [ebp - 4], 0xfffffffe
call fcn.0043d392
xor ecx, ecx
lea ecx, [ecx]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x43d1bc
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 0x43d1e3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 6
jl 0x43d1b0
xor eax, eax
lea ecx, [ecx]
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 0xf
jl 0x43d1f0
test esi, esi
jle 0x43d207
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 0x43d227
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x43d23c
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 0x43d263
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 8
jl 0x43d230
xor eax, eax
lea ecx, [ecx]
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x43d270
test esi, esi
jle 0x43d287
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 0x43d2a7
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
jle 0x43d2b1
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
sub esi, eax
jne 0x43d2cd
call ebx
mov dword [ebp - 0x1c], eax
xor esi, esi
mov dword [ebp - 0x1c], esi
push 0xfa
lea ecx, [ebp]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
xor eax, eax
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 8
jl 0x43d2e3
test esi, esi
jge 0x43d2f9
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 0x43d326
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov edi, 2
jmp 0x43d330
test esi, esi
jle 0x43d33a
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 0x43d359
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 0x43d330
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 0x43d39c
and esi, ecx
jmp 0x43d39e
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 5
jl 0x43d370
xor eax, eax
jmp 0x43d3b0
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x43d3b0
test esi, esi
jge 0x43d3c6
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 0x43d3f3
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 5
jl 0x43d3f5
test esi, esi
jle 0x43d40c
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 0x43d42c
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
mov edi, edi
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x43d430
test esi, esi
jle 0x43d447
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 0x43d467
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
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 0x43d489
and esi, ecx
jmp 0x43d48b
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 8
jl 0x43d470
push 0xfa
lea ecx, [ebp]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
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 0x43d4c0
and esi, ecx
jmp 0x43d4c2
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x43d4a7
mov dword [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x3c], ecx
cmp ecx, 1
jge 0x43d522
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43d4f1
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43d51a
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 0x43d51d
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43d4d6
mov dword [ebp - 4], 0xfffffffe
call fcn.0043d58c
mov dword [ebp - 4], 3
xor ecx, ecx
mov dword [ebp - 0x2c], ecx
cmp ecx, 4
jge 0x43d596
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43d552
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43d57b
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 0x43d57e
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43d537
mov dword [ebp - 4], 0xfffffffe
call fcn.0043d5c6
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 0x43d5d0
and esi, ecx
jmp 0x43d5d2
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 6
jl 0x43d5a4
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 0x43d5f9
and esi, ecx
jmp 0x43d5fb
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x43d5e0
xor ecx, ecx
jmp 0x43d610
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea edx, [edx + edx*2]
mov eax, ecx
sub eax, edx
cmp eax, 1
jne 0x43d629
and esi, ecx
jmp 0x43d62b
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x43d610
mov edi, 4
jmp 0x43d640
test esi, esi
jle 0x43d64a
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 0x43d669
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 0x43d640
xor eax, eax
nop
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x43d680
test esi, esi
jle 0x43d697
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 0x43d6b7
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea esp, [esp]
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x43d6cc
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 0x43d6f3
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x43d6c0
mov dword [ebp - 4], 4
xor ecx, ecx
mov dword [ebp - 0x4c], ecx
cmp ecx, 3
jge 0x43d750
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43d71f
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43d748
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 0x43d74b
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43d704
mov dword [ebp - 4], 0xfffffffe
call fcn.0043d7ba
mov dword [ebp - 4], 5
xor ecx, ecx
mov dword [ebp - 0x34], ecx
cmp ecx, 2
jge 0x43d7c4
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43d780
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43d7a9
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 0x43d7ac
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43d765
mov dword [ebp - 4], 0xfffffffe
call fcn.0043d882
push 0xfa
lea ecx, [ebp]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
mov dword [ebp - 0x1c], esi
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x43d7ee
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 0x43d81b
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
xor eax, eax
lea ecx, [ecx]
or esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 4
jl 0x43d820
test esi, esi
jle 0x43d837
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 0x43d857
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
xor ecx, ecx
lea esp, [esp]
mov eax, 0xaaaaaaab
mul ecx
shr edx, 1
lea eax, [edx + edx*2]
mov edx, ecx
sub edx, eax
cmp edx, 1
jne 0x43d88c
and esi, ecx
jmp 0x43d88e
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 2
jl 0x43d860
mov dword [ebp - 4], 6
xor ecx, ecx
mov dword [ebp - 0x20], ecx
test ecx, ecx
jge 0x43d8ed
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43d8bc
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43d8e5
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 0x43d8e8
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43d8a2
mov dword [ebp - 4], 0xfffffffe
call fcn.0043d967
xor eax, eax
jmp 0x43d900
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 2
jl 0x43d900
test esi, esi
jge 0x43d916
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 0x43d943
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 0x43d971
and esi, ecx
jmp 0x43d973
or esi, ecx
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x43d945
mov dword [ebp - 4], 7
xor ecx, ecx
mov dword [ebp - 0x24], ecx
cmp ecx, 2
jge 0x43d9d3
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43d9a2
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43d9cb
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 0x43d9ce
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43d987
mov dword [ebp - 4], 0xfffffffe
call fcn.0043db1b
mov edi, 4
test esi, esi
jle 0x43d9ee
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 0x43da0d
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 0x43d9e4
test esi, esi
jle 0x43da2b
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 0x43da4b
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
test esi, esi
jle 0x43da55
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 0x43da75
call ebx
mov esi, eax
mov dword [ebp - 0x1c], esi
mov edi, 2
lea ebx, [ebx]
test esi, esi
jle 0x43da8a
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 0x43daa9
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 0x43da80
mov dword [ebp - 4], 8
xor ecx, ecx
mov dword [ebp - 0x28], ecx
cmp ecx, 3
jge 0x43db25
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43dae1
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43db0a
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 0x43db0d
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43dac6
mov dword [ebp - 4], 0xfffffffe
call fcn.0043dbc8
mov dword [ebp - 0x1c], esi
test esi, esi
jge 0x43db3d
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 0x43db6a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, eax
mov dword [ebp - 0x1c], esi
mov dword [ebp - 4], 9
xor ecx, ecx
mov dword [ebp - 0x30], ecx
cmp ecx, 1
jge 0x43dbd2
mov eax, esi
cdq
sub eax, edx
sar eax, 1
and eax, 0x80000001
jns 0x43db8e
dec eax
or eax, 0xfffffffe
inc eax
cmp eax, 1
je 0x43dbb7
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 0x43dbba
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
jmp 0x43db73
mov dword [ebp - 4], 0xfffffffe
call fcn.0043dd82
xor ecx, ecx
xor esi, ecx
mov dword [ebp - 0x1c], esi
jge 0x43dbec
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 0x43dc13
xor esi, esi
mov dword [ebp - 0x1c], esi
add ecx, 1
cmp ecx, 3
jl 0x43dbe0
xor eax, eax
lea ecx, [ecx]
xor esi, eax
mov dword [ebp - 0x1c], esi
add eax, 1
cmp eax, 3
jl 0x43dc20
test esi, esi
jge 0x43dc36