Function at 0x436d00
Capabilities:
Check if file exists

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5dfe64
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 0x436d5b
xor ecx, ecx
jmp 0x436d6f
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436d60
sub ecx, edx
sar ecx, 1
lea eax, [ebx + 4]
push ecx
push esi
mov ecx, eax
mov dword [ebp - 0x354], eax
call fcn.00402ad0
cmp word [edi], 0
jne 0x436d8b
xor ecx, ecx
jmp 0x436d9f
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436d90
sub ecx, edx
sar ecx, 1
lea eax, [ebx + 0x1c]
push ecx
push edi
mov ecx, eax
mov dword [ebp - 0x364], eax
call fcn.00402ad0
mov esi, dword [ebp - 0x360]
cmp word [esi], 0
jne 0x436dc1
xor ecx, ecx
jmp 0x436dd5
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436dc6
sub ecx, edx
sar ecx, 1
lea eax, [ebx + 0x34]
push ecx
push esi
mov ecx, eax
mov dword [ebp - 0x35c], eax
call fcn.00402ad0
cmp dword [ebx + 0x5c], 0
jne 0x436dfc
push 0xd
push str.WnService.exe
lea ecx, [ebx + 0x4c]
call fcn.00402ad0
call fcn.004521f8
test al, al
je 0x436e20
jns 0x436e3f
int 0xfb
xor eax, 0xc42672d8
sub eax, 0xfc120bcf
sbb esp, dword [esi + 0x25]
push eax
mov dh, 0x10
push cs
cmp ch, 0xf9
inc esp
sbb al, 0xdf
call fcn.0045209f
test al, al
je 0x436e47
jp 0x436e79
add ecx, 0xffffff95
mov eax, dword [0xe4a772d2]
fnstcw word [esi]
aaa
out 0x87, eax
sahf
dec esi
insd dword es:[edi], dx
popal
or eax, 0x4c9ea2f1
sahf
dec esp
pop ebp
xchg ebx, eax
xor al, 0xba
int 0x39
mov eax, dword [0x679464]
test eax, eax
jne 0x436e85
push 0x15c
call fcn.0046d56f
add esp, 4
mov dword [ebp - 0x350], eax
mov dword [ebp - 4], 0
test eax, eax
je 0x436e77
mov ecx, eax
call fcn.00443b90
jmp 0x436e79
xor eax, eax
mov dword [ebp - 4], 0xffffffff
mov dword [0x679464], eax
mov ecx, eax
call fcn.00471d44
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 0x436eb4
xor ecx, ecx
jmp 0x436ecf
mov ecx, edx
lea esi, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436ec0
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x248]
call fcn.00402ad0
mov eax, dword [0x679464]
mov dword [ebp - 4], 1
test eax, eax
jne 0x436f1b
push 0x15c
call fcn.0046d56f
add esp, 4
mov dword [ebp - 0x350], eax
mov byte [ebp - 4], 2
test eax, eax
je 0x436f10
mov ecx, eax
call fcn.00443b90
jmp 0x436f12
xor eax, eax
mov byte [ebp - 4], 1
mov dword [0x679464], eax
mov ecx, eax
call fcn.00471d44
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 0x436f4a
xor ecx, ecx
jmp 0x436f5f
mov ecx, edx
lea esi, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x436f50
sub ecx, esi
sar ecx, 1
push ecx
push edx
lea ecx, [ebp - 0x230]
call fcn.00402ad0
push 0xd
push str.WnService.exe
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 3
call fcn.00405da0
mov eax, dword [ebp - 0x348]
lea ecx, [ebp - 0x248]
push 0xffffffffffffffff
push 0
add eax, 0x4c
push eax
call fcn.00405c90
call fcn.00452351
test al, al
je 0x436fbb
std
invalid
push ebx
jb 0x436fbf
pop es
imul ebx, dword [esp + ebp*2 - 0x4a03b82], 0x1ef08c00
jmp 0x89c0f50
call fcn.004520e4
test al, al
je 0x436fdc
add byte [eax + eax*8 - 0x58bee78c], al
inc ecx
cmpsd dword [esi], dword es:[edi]
mov cl, 0x89
xlatb
mov bh, 0xd7
lodsd eax, dword [esi]
mov dword [0x5976a0b4], eax
mov edi, 0x5e156c2d
das
jne 0x436f64
adc eax, 0x8de8f1b4
mov cl, 1
add byte [eax + eax*8 - 0x4dee78c], al
call fcn.0045216e
test al, al
je 0x436ffd
and ebx, edi
mov ecx, 0x780d5586
sub byte [eax + 0x5fe5d8df], bl
cmp byte [bx + si + 0x5989], bl
loope 0x43706b
and esi, esi
or ch, dh
mov eax, dword [ebp - 0x348]
cmp dword [eax], 0
jne 0x43703f
cmp dword [ebp - 0x234], 8
lea eax, [ebp - 0x248]
cmovae eax, dword [ebp - 0x248]
push eax
call fcn.00464a78
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call fcn.00464a78
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 0x437084
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
push 0x6c
call fcn.004587e8
add esp, 8
xor esi, esi
jmp 0x437c32
call fcn.00452579
test al, al
je 0x43709d
in al, dx
mov ebp, 0x303a7129
std
int3
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.004029b0
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.004029b0
lea eax, [ebp - 0x2f0]
mov byte [ebp - 4], 5
push eax
call fcn.0045bc25
lea eax, [ebp - 0x2d8]
push eax
call fcn.0045bc25
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.00403c50
add esp, 0x18
test eax, eax
je 0x437195
adc ch, bh
invalid
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.0045350b
add esp, 8
call fcn.004524aa
test al, al
je 0x4371b0
xchg edx, eax
jns 0x43713d
cmpsb byte [esi], byte es:[edi]
sbb dword [ecx - 0x7e84d885], 0x910b355f
ror bh, 0xa0
and byte [ebx], dh
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 0x43729b
push 0x208
push eax
lea eax, [ebp - 0x218]
push eax
call fcn.00480640
add esp, 0xc
lea ecx, [ebp - 0x32c]
call fcn.00464345
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 7
call fcn.0046440b
test eax, eax
lea eax, [ebp - 0x218]
push 0x104
push eax
je 0x437226
call dword [sym.imp.KERNEL32.dll_GetSystemWow64DirectoryW]
jmp 0x43722c
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
cmp word [ebp - 0x218], 0
jne 0x43723a
xor ecx, ecx
jmp 0x437252
lea ecx, [ebp - 0x218]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x437243
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x260]
call fcn.00402ad0
push 0x10
push str._svchost.exe__k
lea ecx, [ebp - 0x260]
call fcn.00405da0
push 0xffffffffffffffff
push 0
lea eax, [ebx + 0x7c]
push eax
lea ecx, [ebp - 0x260]
call fcn.00405c90
lea ecx, [ebp - 0x32c]
mov byte [ebp - 4], 6
call fcn.00464358
jmp 0x4372d5
push 0xffffffffffffffff
push 0
lea eax, [ebp - 0x248]
push eax
lea ecx, [ebp - 0x260]
call fcn.004029b0
push 1
push 0x5e8878
lea ecx, [ebp - 0x260]
call fcn.00405da0
push 2
push 0x5ea378
lea ecx, [ebp - 0x260]
call fcn.00405da0
push 0x5e6948
push str.6f1ce
lea eax, [ebp - 0x290]
push 0x5e6c2c
push eax
call fcn.00465d64
push 0x5e6948
push str.d0417
lea eax, [ebp - 0x344]
mov byte [ebp - 4], 8
push 0x5e6c2c
push eax
call fcn.00465d64
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.004029b0
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.004029b0
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0xb
push eax
call fcn.0045bc25
lea eax, [ebp - 0x2c0]
push eax
call fcn.0045bc25
add esp, 8
mov dword [ebp - 0x350], 0
call fcn.004523db
test al, al
je 0x4373cb
add ch, dl
adc esp, esi
and al, byte [ebx + edx*8]
mov byte [ebx + 0x1e], bh
jno 0x4373a7
mov ah, dl
dec edi
inc esp
cmpsb byte [esi], byte es:[edi]
mov dl, 0x83
rcr ebp, cl
add eax, 0x6de88616
scasb al, byte es:[edi]
add dword [eax], eax
call fcn.0045223d
test al, al
je 0x4373e9
and eax, 0x54171644
pop es
stosb byte es:[edi], al
leave
dec esp
ljmp 0x4870
call fcn.00452396
test al, al
je 0x437404
sal byte [edx + edx + 0x7d], 0xfb
jge 0x4373ef
inc edi
sbb eax, 0x150a9e55
rcl dword [ebp - 0x29]
adc byte [edi], dh
xor esp, esi
pop es
inc ebp
test byte [ebx - 0x2934b], 0xff
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.00403c50
add esp, 0x10
test eax, eax
jne 0x4374a5
cmp esi, 8
lea ecx, [ebp - 0x2a8]
lea eax, [ebp - 0x290]
cmovae ecx, edi
cmp dword [ebp - 0x27c], 8
push ecx
cmovae eax, dword [ebp - 0x290]
mov ecx, ebx
push eax
call int.00437e10
test eax, eax
je 0x4374a5
or dword [eax], eax
add byte [ebp - 0x7cd18b40], al
mov ebp, 0xfffffd84
or byte [ebp - 0x28f7b], cl
dec dword [ebx - 0x7abcf035]
jo 0x437488
cmp dword [ebp - 0x27c], 8
lea eax, [ebp - 0x290]
mov ecx, ebx
cmovae eax, dword [ebp - 0x290]
push eax
call fcn.00437cb0
xor ecx, ecx
mov edx, 1
test eax, eax
cmovne ecx, edx
mov dword [ebp - 0x350], ecx
test dword [eax - 3], esi
invalid
test dword [eax - 3], esi
invalid
call fcn.004522c7
test al, al
je 0x4374c2
jno 0x437470
ljmp 0xd474:0xa4758942
dec ebp
call fcn.004520e4
test al, al
je 0x4374e9
ja 0x43747f
popfd
jne 0x4374c1
invalid
call fcn.004521b3
lodsb al, byte [esi]
add dword [eax], eax
test al, al
je 0x437511
jg 0x4374eb
mov edi, 0x34d1046
push 0xffffffffffffffd2
loopne 0x437527
shl al, cl
sub cl, cl
leave
cmp al, 0x31
inc ecx
salc
loope 0x4374fa
div dword [edx + ebp]
sti
cwde
xor byte [eax], ch
mov al, 0x1a
xchg esp, eax
test bh, dh
cmp dword [ebp - 0x350], 0
je 0x43767a
push 0x5ea38c
lea ecx, [ebp - 0x308]
call fcn.004041e0
mov ebx, dword [ebp - 0x348]
mov byte [ebp - 4], 0xc
cmp dword [ebx], 0
je 0x43754d
invalid
push str..dll
lea ecx, [ebp - 0x308]
call fcn.00404470
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.004029b0
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.00438190
cmp eax, 0xffffffff
je 0x4375dd
inc eax
lea ecx, [ebp - 0x278]
push eax
push 0
lea eax, [ebp - 0x320]
push eax
call fcn.00419930
push eax
lea ecx, [ebp - 0x278]
call fcn.004043f0
lea ecx, [ebp - 0x320]
call fcn.00403710
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.0045350b
lea ecx, [ebx + 0xf4]
add esp, 8
lea eax, [ebp - 0x290]
cmp ecx, eax
je 0x437629
push 0xffffffffffffffff
push 0
push eax
call fcn.004029b0
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.004587e8
add esp, 0xc
lea ecx, [ebp - 0x278]
call fcn.00403710
lea ecx, [ebp - 0x308]
call fcn.00403710
xor esi, esi
jmp 0x437be5
call fcn.00451f46
test al, al
je 0x437693
sbb eax, 0x92f67372
or al, 0x38
mov esi, fs
clc
xchg dword [esi - 0x745599a0], esp
test dword [esp + edi*8 + 0x7883ffff], ebp
adc al, 8
mov eax, dword [ebp - 0x354]
cmp dword [eax + 0x14], 8
jb 0x4376a1
mov eax, dword [eax]
mov ecx, dword [ebp - 0x348]
push eax
call fcn.00438000
mov ecx, dword [ebp - 0x348]
call fcn.00436450
call fcn.004523db
test al, al
je 0x4376de
enter 0xffffffffffffd908, 0xffffffffffffffcd
imul dword [ebp - 0x5a]
ret 0xb949
call fcn.004524ef
test al, al
je 0x437705
xchg edi, eax
iretd
push dword [ebp - 0x34c]
push str.6f1ce
push 0x5e6c2c
call fcn.0046673d
pop esi
add al, ch
and esi, eax
add al, byte [eax]
add esp, 0xc
call fcn.00452534
test al, al
je 0x437742
invalid
mov ebp, 0x34353848
mov eax, dword [0xbf3cfc8]
imul dword [ebx]
xchg dword [edi], ebp
inc ebp
jmp 0x43777e
cmp dword [ebp - 0x24c], 8
lea eax, [ebp - 0x260]
cmovae eax, dword [ebp - 0x260]
push eax
push str.d0417
push 0x5e6c2c
call fcn.0046673d
pop esi
add byte [eax + 0x2c], ch
insb byte es:[edi], dx
pop esi
add al, ch
xlatb
out dx, eax
add al, byte [eax]
add esp, 0xc
call fcn.004524ef
test al, al
je 0x437783
xor al, 0xf4
mov dword [0xf6dad106], eax
adc dword [edi + 0x2dda719e], edi
pop ebx
jns 0x437713
sub eax, 0xd491795b
aam 0xe8
jo 0x437730
call fcn.004521f8
add dword [eax], eax
test al, al
je 0x4377ab
test eax, 0xaa40ed47
inc ebx
pop eax
dec edx
test eax, 0xc31601d2
rcl byte [edi - 0xc], 0xae
iretd
call fcn.00452015
test al, al
je 0x4377ca
aas
js 0x437829
ja 0x43775a
out 0xc0, al
cmp eax, 0x9ddd5a8d
movsb byte es:[edi], byte [esi]
invalid
call fcn.0041b7d0
mov ebx, dword [ebp - 0x348]
mov esi, eax
test esi, esi
je 0x43781f
cmp dword [ebx + 0xf0], 8
lea ecx, [ebx + 0xdc]
jb 0x4377ec
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 0x4378a4
add byte [ebx + 0x7574003b], al
lea ecx, [ebp - 0x328]
call fcn.00413c40
cmp dword [ebx + 0xd8], 8
lea ecx, [ebx + 0xc4]
mov byte [ebp - 4], 0xe
jb 0x43784f
mov ecx, dword [ecx]
cmp dword [ebx + 0x30], 8
lea esi, [ebx + 0x1c]
jb 0x43785a
mov esi, dword [esi]
cmp dword [ebx + 0x18], 8
lea edx, [ebx + 4]
jb 0x437865
mov edx, dword [edx]
add ebx, 0x7c
cmp dword [ebx + 0x14], 8
jb 0x437870
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.00413f40
lea ecx, [ebp - 0x328]
call fcn.00413d50
jmp 0x437be0
call fcn.00452603
test al, al
je 0x4378c0
adc esi, dword [ebx + ecx*2 + 0x527a237c]
mov ah, 0x4b
jl 0x4378d4
jp 0x437905
fstp qword [ebx - 0x5110ffc1]
out 0x37, al
out dx, eax
cdq
pop es
jmp 0x1f02dac
call fcn.00452579
test al, al
je 0x4378e4
add ah, dl
enter 0x5b46, 0xffffffffffffff97
loope 0x4378ac
sbb byte [esi + 0x45fe8538], al
test esi, edi
inc ebp
invalid
call fcn.00452534
test al, al
je 0x437906
mov dh, 0x2e
test byte [edi], ch
adc byte [ebp + 0x50], ah
mov bh, 0x89
aas
mov dl, 0xa0
inc esi
test al, 0x6d
lodsb al, byte [esi]
mov al, byte [0xac6da846]
inc ecx
xchg ebp, eax
loop 0x4378f8
arpl dx, ax
push ebp
into
push 0xf003f
push 0
push 0
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerW]
mov ebx, eax
mov dword [ebp - 0x348], ebx
call fcn.00451fd0
test al, al
je 0x437940
adc al, 0x62
bound ebx, qword [eax - 8]
jo 0x4378f1
invalid
test ebx, ebx
jne 0x437955
push 0x6e
call fcn.004587e8
add esp, 4
xor esi, esi
jmp 0x437be5
call fcn.004524aa
test al, al
je 0x437975
lahf
inc ecx
adc byte [ebp + 0x5b77e696], al
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 0x437997
mov edx, dword [edx]
mov eax, dword [ebp - 0x354]
cmp dword [eax + 0x14], 8
jb 0x4379a5
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
push ebx
call dword [sym.imp.ADVAPI32.dll_CreateServiceW]
mov edi, eax
mov dword [ebp - 0x34c], edi
call fcn.00452420
test al, al
je 0x437a04
outsd dx, dword [esi]
rcl byte [edx + edx + 0x35], cl
xlatb
stosd dword es:[edi], eax
or ebp, dword [ebp + esi*2 - 0x62]
rcr dword [ebx], 1
push ss
fisttp dword [esi - 3]
aad 0x17
insd dword es:[edi], dx
int1
sub dword [edx + 0xcdce49e], esi
sbb eax, 0xfcb89d8b
invalid
call fcn.004521f8
test al, al
je 0x437a2d
pop ecx
jg 0x437a84
invalid
test edi, edi
jne 0x437a8d
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x320]
push eax
call fcn.00438210
add esp, 8
cmp dword [eax + 0x14], 8
mov byte [ebp - 4], 0xf
jb 0x437a53
mov eax, dword [eax]
push eax
push str.LastError
push 0xad
call fcn.004587e8
add esp, 0xc
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x320]
call fcn.00403710
push 0x6f
call fcn.004587e8
add esp, 4
push ebx
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
xor esi, esi
jmp 0x437be5
pop esi
add byte [ebx], dh
imul cl
pop eax
add dword [eax], eax
add al, ch
out 0xaa, eax
add dword [eax], eax
call fcn.00452579
test al, al
je 0x437ab2
adc al, dl
hlt
mov eax, dword [ebp - 0x35c]
cmp dword [eax + 0x14], 8
jb 0x437ac0
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.004523db
test al, al
je 0x437b00
mov dword [edi - 0x607a9518], esi
add eax, 0xd38df60a
les ebx, [edi + 0x68c75e2d]
aas
add byte [edi], cl
add byte [edx], ch
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 0x437b5b
mov ecx, dword [ebp - 0x354]
push 0xf003f
call fcn.0041eda0
push eax
push esi
call dword [sym.imp.ADVAPI32.dll_OpenServiceW]
mov esi, eax
test esi, esi
je 0x437b57
push 0
push 0
push esi
call dword [sym.imp.ADVAPI32.dll_StartServiceW]
test eax, eax
jne 0x437b52
or ch, byte [edx + 0x72]
push 0x72
call fcn.004587e8
add esp, 4
push esi
call ebx
jmp 0x437b65
push 0x71
jmp 0x437b5d
push 0x70
call fcn.004587e8
add esp, 4
call fcn.004524ef
test al, al
je 0x437b8d
stc
out 0xa0, eax
sar ebp, cl
sbb al, 0x9c
jbe 0x437b77
scasb al, byte es:[edi]
outsd dx, dword [esi]
jg 0x437b47
add bh, ah
push esp
leave
jl 0x437bb3
dec ebx
insd dword es:[edi], dx
loop 0x437b89
sbb ebp, dword [ecx - 0x71]
add edi, 0xe852746d
stc
mov dword [0xc0840001], eax
invalid
call fcn.00451f8b
test al, al
je 0x437baf
mov bh, 0x31
leave
mov cl, 0x9b
sal byte [eax - 0x6f], cl
int1
mov dl, 0x2f
adc eax, 0xa204f74b
fcmovne st(0), st(1)
push 0xffffffffffffffe8
pop ebx
inc edi
out 0x25, al
in eax, dx
call fcn.0045223d
test al, al
je 0x437bd4
add byte [eax + eax*8 + 0x4ac21c74], al
xchg byte [eax], al
xchg esp, eax
pop esi
fistp dword [ebp - 0x186b2e47]
movsb byte es:[edi], byte [esi]
add dword [edi - 0x2b], 0x894cde01
cli
movsb byte es:[di], byte [si]
invalid
ret 0x864a
push dword [ebp - 0x35c]
call dword [sym.imp.ADVAPI32.dll_CloseServiceHandle]
mov esi, 1
lea ecx, [ebp - 0x2a8]
call fcn.00403710
lea ecx, [ebp - 0x2c0]
call fcn.00403710
lea ecx, [ebp - 0x344]
call fcn.00403710
lea ecx, [ebp - 0x290]
call fcn.00403710
lea ecx, [ebp - 0x260]
call fcn.00403710
lea ecx, [ebp - 0x2d8]
call fcn.00403710
lea ecx, [ebp - 0x2f0]
call fcn.00403710
mov eax, dword [ebp - 0x21c]
cmp eax, 8
jb 0x437c50
inc eax
lea ecx, [ebp - 0x230]
push eax
push dword [ebp - 0x230]
call fcn.00402c20
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 0x437c8b
inc ecx
push ecx
push dword [ebp - 0x248]
lea ecx, [ebp - 0x248]
call fcn.00402c20
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.0046d81d
mov esp, ebp
pop ebp
ret 0xc