Function at 0x4370d0
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dfe54
mov eax, dword fs:[0]
push eax
sub esp, 0x358
mov eax, dword [0x67432c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x348], ebx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x34c], esi
cmp word [esi], 0
mov dword [ebp - 0x358], edi
mov dword [ebp - 0x360], eax
jne 0x43712b
xor ecx, ecx
jmp 0x43713f
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x437130
sub ecx, edx
sar ecx, 1
lea eax, [ebx + 4]
push ecx
push esi
mov ecx, eax
mov dword [ebp - 0x354], eax
call fcn.00402ac0
cmp word [edi], 0
jne 0x43715b
xor ecx, ecx
jmp 0x43716f
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x437160
sub ecx, edx
sar ecx, 1
lea eax, [ebx + 0x1c]
push ecx
push edi
mov ecx, eax
mov dword [ebp - 0x364], eax
call fcn.00402ac0
mov esi, dword [ebp - 0x360]
cmp word [esi], 0
jne 0x437191
xor ecx, ecx
jmp 0x4371a5
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x437196
sub ecx, edx
sar ecx, 1
lea eax, [ebx + 0x34]
push ecx
push esi
mov ecx, eax
mov dword [ebp - 0x35c], eax
call fcn.00402ac0
cmp dword [ebx + 0x5c], 0
jne 0x4371cc
push 0xd
push str.WnService.exe
lea ecx, [ebx + 0x4c]
call fcn.00402ac0
call fcn.00452215
test al, al
je 0x4371f0
pop ebx
lea ebp, [edi]
push ss
lds ebp, [ebp - 0x24eeb162]
mov ecx, 0x2116fa75
invalid
call fcn.004520bc
test al, al
je 0x437217
cmpsd dword [esi], dword es:[edi]
shl byte [eax - 0x44], 0xa1
in al, 0xcc
cmp dword [ebp + 0x257d9b45], edx
cli
sal byte [edi + ebx*8 - 0x37], 1
mov byte [edx], al
rol dword [edi], 1
outsd dx, dword [esi]
inc edi
loope 0x43723b
xchg esi, ebx
test bh, 0xa1
xchg esp, eax
add byte [di + 0x75c0], al
xor eax, 0x15c68
add al, ch
sub ah, byte [ebx + 3]
add byte [ebx - 0x7a76fb3c], al
mov al, 0xfc
invalid
mov eax, dword [0x679464]
test eax, eax
jne 0x437255
push 0x15c
call fcn.0046d554
add esp, 4
mov dword [ebp - 0x350], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x437247
sal byte [ecx + ecx - 0x75], 0xc8
mov ecx, eax
call fcn.00443ec0
jmp 0x437249
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x679464], eax
mov ecx, eax
call fcn.00471d04
mov edx, eax
mov dword [ebp - 0x234], 7
xor eax, eax
mov dword [ebp - 0x238], 0
mov word [ebp - 0x248], ax
cmp word [edx], ax
jne 0x437284
xor ecx, ecx
jmp 0x43729f
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x437290
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x248]
call fcn.00402ac0
mov eax, dword [0x679464]
mov dword [ebp - 4], 1
test eax, eax
jne 0x4372eb
push 0x15c
call fcn.0046d554
add esp, 4
mov dword [ebp - 0x350], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x4372e0
mov ecx, eax
call fcn.00443ec0
jmp 0x4372e2
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x679464], eax
mov ecx, eax
call fcn.00471d04
mov edx, eax
mov dword [ebp - 0x21c], 7
xor eax, eax
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
cmp word [edx], ax
jne 0x43731a
xor ecx, ecx
jmp 0x43732f
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x437320
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x230]
call fcn.00402ac0
push 0xd
push str.WnService.exe
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 3
call fcn.00405c20
mov eax, dword [ebp - 0x348]
lea ecx, [ebp - 0x248]
push 0xffffffffffffffff
push 0
add eax, 0x4c
push eax
call fcn.00405b10
call fcn.0045236e
test al, al
je 0x43738b
call 0xe7e6cdf2
aad 0xe
std
bnd jmp 0x4373bb
call fcn.00452101
test al, al
je 0x4373ac
in eax, dx
outsd dx, dword [esi]
or al, 0xf4
imul ebp, dword [esi], 0xd5d543fe
test eax, 0xa788104f
pushfd
adc al, 0x38
xor byte [ecx + 0x10], bl
push 0xaddae870
add dword [eax], eax
call fcn.0045218b
test al, al
je 0x4373cd
xor dword [ecx], 0x17ad97ab
ret
mov eax, dword [ebp - 0x348]
cmp dword [eax], 0
jne 0x43740f
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
call fcn.00464a5d
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.00464a5d
add esp, 8
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x437454
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push 0x6c
call fcn.004587ef
add esp, 8
xor esi, esi
jmp 0x438002
call fcn.00452596
test al, al
je 0x43746d
mov ebx, 0x2c79a54
mov ebx, 0x5b010b67
add byte [ecx + 0x54], cl
jo 0x43746d
popfd
xor eax, eax
mov dword [ebp - 0x2dc], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0x2f0], ax
lea ecx, [ebp - 0x2f0]
lea eax, [ebp - 0x230]
mov dword [ebp - 0x2e0], 0
push eax
call fcn.004029a0
xor eax, eax
mov byte [ebp - 4], 4
push 0xffffffffffffffff
push eax
mov word [ebp - 0x2d8], ax
lea ecx, [ebp - 0x2d8]
lea eax, [ebp - 0x248]
mov dword [ebp - 0x2c4], 7
push eax
mov dword [ebp - 0x2c8], 0
call fcn.004029a0
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 5
push eax
call fcn.0045b93c
lea eax, [ebp - 0x2d8]
push eax
call fcn.0045b93c
cmp dword [ebp - 0x2c4], 8
lea ecx, [ebp - 0x2d8]
push dword [ebp - 0x2c8]
cmovae ecx, dword [ebp - 0x2d8]
lea eax, [ebp - 0x2f0]
cmp dword [ebp - 0x2dc], 8
push ecx
cmovae eax, dword [ebp - 0x2f0]
push dword [ebp - 0x2e0]
push eax
call fcn.00403a90
add esp, 0x18
test eax, eax
je 0x437565
cmp dword [ebp - 0x234], 8
lea ecx, [ebp - 0x248]
lea eax, [ebp - 0x230]
cmovae ecx, dword [ebp - 0x248]
cmp dword [ebp - 0x21c], 8
push ecx
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.00453528
add esp, 8
call fcn.004524c7
test al, al
je 0x437580
pop edx
push ss
jp 0x4375c8
shl byte [edx + eax*2 + 0x4eda7289], 0x49
rcl edi, 0xa9
sbb dword [eax], edx
lds esi, [ebx]
rol bh, 0x85
mov ah, 0xfd
invalid
xor eax, eax
mov dword [ebp - 0x24c], 7
mov dword [ebp - 0x250], 0
mov word [ebp - 0x260], ax
mov ebx, dword [ebp - 0x348]
mov byte [ebp - 4], 6
cmp dword [ebx], eax
je 0x43766b
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00480620
add esp, 0xc
lea ecx, [ebp - 0x32c]
call fcn.0046432a
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 7
call fcn.004643f0
test eax, eax
lea eax, [ebp - 0x218]
push 0x104
push eax
je 0x4375f6
invalid
call dword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
jmp 0x4375fc
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp word [ebp - 0x218], 0
jne 0x43760a
xor ecx, ecx
jmp 0x437622
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x437613
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x260]
call fcn.00402ac0
push 0x10
push str._svchost.exe__k
lea ecx, [ebp - 0x260]
call fcn.00405c20
push 0xffffffffffffffff
push 0
lea eax, [ebx + 0x7c]
push eax
lea ecx, [ebp - 0x260]
call fcn.00405b10
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 6
call fcn.0046433d
jmp 0x4376a5
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x260]
call fcn.004029a0
push 1
push 0x5e8880
lea ecx, [ebp - 0x260]
call fcn.00405c20
push 2
push 0x5ea378
lea ecx, [ebp - 0x260]
call fcn.00405c20
push 0x5e6948
push str.6f1ce
lea eax, [ebp - 0x290]
push 0x5e6c34
push eax
call fcn.00465d49
push 0x5e6948
push str.d0417
lea eax, [ebp - 0x344]
mov byte [ebp - 4], 8
push 0x5e6c34
push eax
call fcn.00465d49
add esp, 0x20
xor eax, eax
mov byte [ebp - 4], 9
push 0xffffffffffffffff
push eax
mov word [ebp - 0x2c0], ax
lea ecx, [ebp - 0x2c0]
lea eax, [ebp - 0x260]
mov dword [ebp - 0x2ac], 7
push eax
mov dword [ebp - 0x2b0], 0
call fcn.004029a0
xor eax, eax
mov byte [ebp - 4], 0xa
push 0xffffffffffffffff
push eax
mov word [ebp - 0x2a8], ax
lea ecx, [ebp - 0x2a8]
lea eax, [ebp - 0x344]
mov dword [ebp - 0x294], 7
push eax
mov dword [ebp - 0x298], 0
call fcn.004029a0
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0xb
push eax
call fcn.0045b93c
add al, ch
push edx
mov dl, 0xfc
dec dword [ebp - 0x2a77b]
inc esi
inc ebp
cld
or edx, dword [eax - 0x18]
fiadd word [ecx + 2]
add byte [ebp - 0x2bf7b], cl
call dword [eax - 0x18]
rol byte [ecx + 2], cl
add byte [ebx - 0x7a38f73c], al
mov al, 0xfc
invalid
lea eax, [ebp - 0x2c0]
push eax
call fcn.0045b93c
add esp, 8
mov dword [ebp - 0x350], 0
call fcn.004523f8
test al, al
je 0x43779b
aam 0xa6
in al, dx
imul ebx, dword [eax + edi*2 + 0x68], 0x57
add al, 0x36
wait
xchg dword [edx - 0x52], ebx
std
lahf
xchg esi, eax
pop ebp
aas
fsubr qword [esi - 0x35]
fucomi st(7)
adc ecx, esi
pop ebx
call fcn.0045225a
test al, al
je 0x4377b9
sub eax, 0x60dabd04
cmp dl, al
push cs
and bl, ah
sbb dword [ebx], 0x313a028f
or eax, 0xcaa81680
call fcn.004523b3
test al, al
je 0x4377d4
push esi
ja 0x4377ec
jns 0x437748
test eax, 0x9801b373
jmp 0x43775e
mov esi, dword [ebp - 0x294]
lea ecx, [ebp - 0x2a8]
push dword [ebp - 0x298]
mov edi, dword [ebp - 0x2a8]
lea eax, [ebp - 0x2c0]
cmp esi, 8
cmovae ecx, edi
cmp dword [ebp - 0x2ac], 8
push ecx
cmovae eax, dword [ebp - 0x2c0]
push dword [ebp - 0x2b0]
push eax
call fcn.00403a90
add esp, 0x10
test eax, eax
jne 0x437875
cmp esi, 8
lea ecx, [ebp - 0x2a8]
lea eax, [ebp - 0x290]
cmovae ecx, edi
cmp dword [ebp - 0x27c], 8
dec dword [eax]
push ecx
cmovae eax, dword [ebp - 0x290]
mov ecx, ebx
push eax
call fcn.004381e0
test eax, eax
je 0x437875
cmp dword [ebp - 0x27c], 8
lea eax, [ebp - 0x290]
mov ecx, ebx
cmovae eax, dword [ebp - 0x290]
push eax
call int.00438080
xor ecx, ecx
mov edx, 1
test eax, eax
cmovne ecx, edx
mov dword [ebp - 0x350], ecx
call fcn.004522e4
test al, al
je 0x437892
push cs
sub eax, 0x514dfaf9
mov dl, 0x70
stosb byte es:[edi], al
xor al, byte [edi]
adc byte [edx + 0x63], cl
add dword [bx + 0x63c4], 0xa86ae8be
add dword [eax], eax
call fcn.00452101
test al, al
je 0x4378b9
scasd eax, dword es:[edi]
test al, 0x29
lcall 0x743d, 0x50165e9b
pushal
sahf
jg 0x437831
sahf
cmp dword [ecx], esi
sbb byte [edi + ebp*8 + 0x4f], ah
jle 0x437903
test eax, 0xfe25dba2
test eax, 0xa912e8a7
add dword [eax], eax
call fcn.004521d0
test al, al
je 0x4378e1
outsb dx, byte [esi]
cmp al, 0xb7
mov edx, 0x63c55a9a
inc edi
xchg esp, eax
mov dword [0x77a1ba0f], eax
sub al, 0x24
test byte [eax - 0x43], bh
cmc
push edi
inc esp
and ax, 0x563e
pop ecx
out dx, al
sub ecx, dword [ecx - 0x7d]
mov ebp, 0xfffffcb0
add byte [edi], cl
test byte [ecx + eax], bl
add byte [eax - 0x74], ch
mov dword [0x8d8d005e], eax
clc
cld
invalid
cmp dword [ebp - 0x350], 0
je 0x437a4a
push 0x5ea38c
lea ecx, [ebp - 0x308]
call fcn.00404060
mov ebx, dword [ebp - 0x348]
mov byte [ebp - 4], 0xc
cmp dword [ebx], 0
inc esi
inc ebp
cld
or al, 0x83
cmp eax, dword [eax]
je 0x43791d
push str..dll
lea ecx, [ebp - 0x308]
call fcn.004042f0
xor eax, eax
mov dword [ebp - 0x264], 7
push 0xffffffffffffffff
push eax
mov word [ebp - 0x278], ax
lea ecx, [ebp - 0x278]
lea eax, [ebp - 0x344]
mov dword [ebp - 0x268], 0
push eax
call fcn.004029a0
push dword [ebp - 0x2f8]
cmp dword [ebp - 0x2f4], 8
lea eax, [ebp - 0x308]
push 0xffffffffffffffff
cmovae eax, dword [ebp - 0x308]
lea ecx, [ebp - 0x278]
push eax
mov byte [ebp - 4], 0xd
call fcn.00438560
cmp eax, 0xffffffff
je 0x4379ad
inc eax
lea ecx, [ebp - 0x278]
push eax
push 0
lea eax, [ebp - 0x320]
push eax
call fcn.00419860
push eax
lea ecx, [ebp - 0x278]
call fcn.00404270
lea ecx, [ebp - 0x320]
call fcn.00447330
cmp dword [ebp - 0x264], 8
lea ecx, [ebp - 0x278]
lea eax, [ebp - 0x248]
cmovae ecx, dword [ebp - 0x278]
cmp dword [ebp - 0x234], 8
push ecx
cmovae eax, dword [ebp - 0x248]
push eax
call fcn.00453528
lea ecx, [ebx + 0xf4]
add esp, 8
lea eax, [ebp - 0x290]
cmp ecx, eax
je 0x4379f9
push 0xffffffffffffffff
push 0
push eax
call fcn.004029a0
cmp dword [ebp - 0x264], 8
lea ecx, [ebp - 0x278]
lea eax, [ebp - 0x290]
cmovae ecx, dword [ebp - 0x278]
cmp dword [ebp - 0x27c], 8
push ecx
cmovae eax, dword [ebp - 0x290]
push eax
push 0x6d
call fcn.004587ef
add esp, 0xc
lea ecx, [ebp - 0x278]
call fcn.00447330
lea ecx, [ebp - 0x308]
call fcn.00447330
xor esi, esi
jmp 0x437fb5
call fcn.00451f63
test al, al
je 0x437a63
pop ds
xchg esi, eax
retf
mov eax, dword [ebp - 0x354]
cmp dword [eax + 0x14], 8
jb 0x437a71
mov eax, dword [eax]
mov ecx, dword [ebp - 0x348]
push eax
call fcn.004383d0
mov ecx, dword [ebp - 0x348]
call 0x436820
call fcn.004523f8
test al, al
je 0x437aae
xchg edi, eax
stc
fadd qword [ebp + esi - 0x25c8d48c]
sahf
ret 0xf3b6
call fcn.0045250c
test al, al
je 0x437ad5
sub eax, 0x27330c47
mov bh, 0xd7
pop edi
push edx
pop esp
push eax
cmpsb byte [esi], byte es:[edi]
aas
cmpsb byte [esi], byte es:[edi]
js 0x437aec
loope 0x437b30
rcl byte [esi + 0x63], cl
adc bh, cl
invalid
push dword [ebp - 0x34c]
push str.6f1ce
push 0x5e6c34
call fcn.00466722
add esp, 0xc
call fcn.00452551
or al, 0xe8
pop edi
stosb byte es:[edi], al
add dword [eax], eax
test al, al
je 0x437b12
xchg ecx, eax
pop ebx
pop esp
pop edx
xchg dword [ebp + 0x78], ecx
ror dword [esi - 0x6d], 1
insd dword es:[edi], dx
shr dh, cl
pop ebx
dec edi
or ah, cl
mov bh, dh
push cs
mov ah, 0x9e
cmp byte [ecx - 0x43], bh
test dword [ebp - 0x4b427c11], ebp
std
invalid
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
cmovae eax, dword [ebp - 0x260]
push eax
test dword [eax + 0xffffffd], esp
inc ebx
test dword [eax + 0x50fffffd], esp
push str.d0417
push 0x5e6c34
call fcn.00466722
add esp, 0xc
call fcn.0045250c
test al, al
add al, ch
in al, dx
jmp 0x437b37
les ecx, [eax + ebp*8]
into
test eax, 0xc0840001
je 0x437b53
jno 0x437b76
and dh, bh
shl dword [edi - 0x2249e7a2], 1
fadd dword [ebx + 0x752d7ad4]
nop
call fcn.00452215
test al, al
je 0x437b7b
ja 0x437b62
jne 0x437bb8
dec esp
sub esp, dword [edx + 0x25]
ljmp 0x23b0
bound esp, qword [0x4d47c8ea]
jle 0x437b1a
and ecx, dword [ecx - 0x6c]
add dh, cl
add eax, 0x943afe03
push esp
fcom qword [ebx + 0x4455dadf]
xchg ebx, eax
invalid
call fcn.00452032
test al, al
je 0x437b9a
cmc
invalid
call fcn.0041b700
mov ebx, dword [ebp - 0x348]
mov esi, eax
test esi, esi
je 0x437bef
cmp dword [ebx + 0xf0], 8
lea ecx, [ebx + 0xdc]
jb 0x437bbc
mov ecx, dword [ecx]
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
mov edx, dword [esi]
cmovae eax, dword [ebp - 0x260]
push ecx
push eax
mov eax, dword [ebp - 0x360]
mov ecx, esi
push eax
push dword [ebp - 0x358]
push dword [ebp - 0x34c]
call dword [edx + 0x118]
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
cmp dword [ebx], 0
je 0x437c74
lea ecx, [ebp - 0x328]
call fcn.00413b60
cmp dword [ebx + 0xd8], 8
lea ecx, [ebx + 0xc4]
mov byte [ebp - 4], 0xe
jb 0x437c1f
mov ecx, dword [ecx]
cmp dword [ebx + 0x30], 8
lea esi, [ebx + 0x1c]
jb 0x437c2a
mov esi, dword [esi]
cmp dword [ebx + 0x18], 8
lea edx, [ebx + 4]
jb 0x437c35
mov edx, dword [edx]
add ebx, 0x7c
cmp dword [ebx + 0x14], 8
jb 0x437c40
mov ebx, dword [ebx]
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
push ecx
cmovae eax, dword [ebp - 0x248]
lea ecx, [ebp - 0x328]
push esi
push edx
push ebx
push eax
call fcn.00413e60
lea ecx, [ebp - 0x328]
call fcn.00413c70
jmp 0x437fb0
call fcn.00452620
test al, al
je 0x437c90
push ss
mov eax, dword [0xcf2e77ae]
adc eax, 0x379a2ac4
adc al, 0xe6
and eax, 0xb56a6136
and al, 0xe8
add dword [ecx - 0x3f7bffff], ebp
call fcn.00452596
test al, al
je 0x437cb4
xor dword [ebp + 0x74bd2d3a], ecx
push edx
out 0x42, eax
ror edx, 1
inc esp
cmp dword [eax - 0x38], ebx
jg 0x437cd4
das
push eax
shr dword [edx], 1
adc dword [edx], esp
fisubr dword [ecx]
inc eax
int 0xe8
cwde
test al, 1
add byte [eax + eax*8 + 0x3fcb1974], al
sal edx, 0xe5
in al, dx
aad 0xe6
or bl, al
mov esi, 0x61d33477
adc bh, byte [0x31e2df42]
xchg ebx, eax
ljmp 0xf00
call fcn.00452551
test al, al
je 0x437cd6
retf
sbb al, 0x6c
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov ebx, eax
mov dword [ebp - 0x348], ebx
call fcn.00451fed
test al, al
je 0x437d10
les ebx, [esp + edi + 0x7652ef60]
in eax, 0x20
mov bh, 0xf1
xchg ecx, eax
dec ebp
or eax, 0xdf404fd
pop esi
sub ecx, dword [ebx - 0x34763]
inc dword [ebp + 0x6a1175db]
outsb dx, byte [esi]
test ebx, ebx
jne 0x437d25
push 0x6e
call fcn.004587ef
add esp, 4
xor esi, esi
jmp 0x437fb5
call fcn.004524c7
test al, al
je 0x437d45
insb byte es:[edi], dx
push esp
fstp qword [eax - 0x76774ce5]
int1
mov ah, bh
push 0xffffffffffffffac
loopne 0x437d25
sub eax, 0xb89d8b02
cld
invalid
cmp dword [ebp - 0x24c], 8
lea ecx, [ebp - 0x260]
mov edx, dword [ebp - 0x364]
cmovae ecx, dword [ebp - 0x260]
cmp dword [edx + 0x14], 8
jb 0x437d67
mov edx, dword [edx]
mov eax, dword [ebp - 0x354]
cmp dword [eax + 0x14], 8
jb 0x437d75
mov eax, dword [eax]
push 0
push 0
push 0x5e6948
push 0
push 0
push ecx
push 1
push 2
push 0x110
push 0xf01ff
push edx
push eax
add dword [edi], ecx
add byte [edx + 0x50], dl
push ebx
call dword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov edi, eax
mov dword [ebp - 0x34c], edi
call fcn.0045243d
add dword [eax], eax
test al, al
je 0x437dd4
loop 0x437d8e
pop es
mov dh, 0x24
mov ebx, 0xfa861491
sub dl, 0xbd
jl 0x437da5
mov edx, 0xc49b74b6
jae 0x437dd1
neg eax
aam 0x1c
mov dh, byte [esi]
mov ebx, dword [ebp - 0x348]
mov edi, dword [ebp - 0x34c]
cld
invalid
call fcn.00452215
test al, al
je 0x437dfd
lds edx, [ecx]
call 0x5b16735d
xchg ebp, eax
ret
test edi, edi
jne 0x437e5d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.004385e0
add esp, 8
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0xf
jb 0x437e23
mov eax, dword [eax]
push eax
push str.LastError
push 0xad
call fcn.004587ef
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x320]
call fcn.00447330
push 0x6f
call fcn.004587ef
add esp, 4
push ebx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor esi, esi
jmp 0x437fb5
call fcn.00452596
test al, al
je 0x437e82
mov ebx, 0x1921a3c8
shr al, cl
mov dword [ecx], ecx
sbb eax, 0x5c81741b
dec eax
out 0xd6, al
push 0xffffffffffffffb7
jb 0x437dfd
mov edi, dword [ebp - 0x34c]
mov eax, dword [ebp - 0x35c]
cmp dword [eax + 0x14], 8
jb 0x437e90
mov eax, dword [eax]
mov dword [ebp - 0x358], eax
lea eax, [ebp - 0x358]
push eax
push 1
push edi
call dword [sym.imp.ADVAPI32.dll_ChangeServiceConfig2W]
mov ebx, dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
push edi
call ebx
push dword [ebp - 0x348]
call ebx
call fcn.004523f8
test al, al
je 0x437ed0
bound ebx, qword [ecx - 0x31a7b0cd]
and byte [ebx], dh
invalid
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov esi, eax
mov dword [ebp - 0x35c], esi
test esi, esi
je 0x437f2b
mov ecx, dword [ebp - 0x354]
push 0xf003f
call fcn.0041ecd0
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, eax
test esi, esi
je 0x437f27
push 0
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x437f22
push 0x72
call fcn.004587ef
add esp, 4
push esi
call ebx
jmp 0x437f35
push 0x71
jmp 0x437f2d
push 0x70
call fcn.004587ef
add esp, 4
call fcn.0045250c
test al, al
je 0x437f5d
pop ebx
outsd dx, dword [esi]
push es
sub byte [edx - 0x19], al
fmul qword [ecx + 0x6b9de869]
mov eax, dword [0xf42b7584]
test al, 0xcb
and esp, dword [ebx]
ret 0xeca0
call fcn.00451fa8
test al, al
je 0x437f7f
xchg ecx, eax
fcom dword [ebp + 0x6ae7c9ca]
int1
jmp 0x437fca
call fcn.0045225a
test al, al
je 0x437fa4
out 0x85, eax
mov dl, 0x87
push esi
and esp, dword [ecx]
pop edi
sub dword [eax], 0x5c
salc
loope 0x437f29
shr dword [edi + 0x27dce434], 1
mov edx, 0x7b17f461
invalid
push dword [ebp - 0x35c]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov esi, 1
lea ecx, [ebp - 0x2a8]
call fcn.00447330
lea ecx, [ebp - 0x2c0]
call fcn.00447330
lea ecx, [ebp - 0x344]
call fcn.00447330
lea ecx, [ebp - 0x290]
call fcn.00447330
lea ecx, [ebp - 0x260]
call fcn.00447330
lea ecx, [ebp - 0x2d8]
call fcn.00447330
lea ecx, [ebp - 0x2f0]
call fcn.00447330
add byte [ebp - 0x34373], cl
invalid
mov eax, dword [ebp - 0x21c]
cmp eax, 8
jb 0x438020
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402c10
mov ecx, dword [ebp - 0x234]
xor eax, eax
mov dword [ebp - 0x21c], 7
mov dword [ebp - 0x220], 0
mov word [ebp - 0x230], ax
cmp ecx, 8
jb 0x43805b
inc ecx
push ecx
push dword [ebp - 0x248]
lea ecx, [ebp - 0x248]
call fcn.00402c10
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0046d802
mov esp, ebp
pop ebp
ret 0xc