Function at 0x421ce0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
mov ebx, ecx
sub esp, 0x1dc
mov esi, dword [ebp + 8]
mov edi, dword [esi + 4]
test edi, edi
jne 0x422113
call fcn.0042c430
lea ecx, [ebp - 0x158]
lea edi, [ebp - 0x150]
mov esi, 0x7041
mov dword [esp + 0x10], str.Not_specify_the_service_name
mov dword [esp + 0xc], 0x1b6
mov dword [esp + 8], ecx
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0x1b0], ecx
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x150], 0x63656843
mov dword [ebp - 0x14c], 0x7265536b
mov dword [ebp - 0x148], 0x65636976
mov word [ebp - 0x144], si
mov byte [ebp - 0x142], 0x70
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x141], 0
call fcn.0042ce70
mov eax, dword [ebp - 0x158]
cmp eax, edi
je 0x421d91
mov dword [esp], eax
call fcn.004ed8c0
lea eax, [ebp - 0x168]
mov dword [esp], 0x15
mov dword [ebp - 0x168], 0x76726573
mov dword [ebp - 0x164], 0x5f656369
mov dword [ebp - 0x160], 0x656d616e
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 0x170], eax
lea eax, [ebp - 0x198]
mov dword [ebp - 0x16c], 0xc
mov byte [ebp - 0x15c], 0
mov dword [ebp - 0x1a0], eax
call fcn.004ed900
mov dword [eax], 0x575c3a43
mov dword [eax + 4], 0x4f444e49
lea ecx, [ebp - 0x1a0]
mov dword [eax + 8], 0x735c5357
mov dword [eax + 0xc], 0x65747379
mov dword [eax + 0x10], 0x5c32336d
mov byte [eax + 0x14], 0
mov dword [ebp - 0x1a0], eax
mov eax, dword [ebx + 4]
mov dword [ebp - 0x198], 0x14
mov dword [ebp - 0x19c], 0x14
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], eax
call fcn.004cb7a0
lea esi, [ebp - 0x180]
lea edx, [eax + 8]
sub esp, 0x10
mov dword [ebp - 0x188], esi
mov ecx, dword [eax]
cmp ecx, edx
je 0x422470
mov dword [ebp - 0x188], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x180], ecx
mov ecx, dword [eax + 4]
mov byte [eax + 8], 0
lea esi, [ebp - 0x180]
mov dword [ebp - 0x184], ecx
mov dword [eax], edx
mov dword [eax + 4], 0
mov eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0x16c]
mov dword [ebp - 0x1bc], eax
add eax, ecx
mov edx, eax
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0x1b4], edx
cmp eax, esi
mov esi, 0xf
cmovne esi, dword [ebp - 0x180]
mov dword [ebp - 0x1b8], esi
cmp edx, dword [ebp - 0x1b8]
mov esi, dword [ebp - 0x170]
mov dword [ebp - 0x1c0], esi
jbe 0x4223f1
mov edx, dword [ebp - 0x1ac]
cmp esi, edx
mov edx, 0xf
cmovne edx, dword [ebp - 0x168]
cmp dword [ebp - 0x1b4], edx
jbe 0x422552
mov eax, esi
lea esi, [ebp - 0x188]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x1bc]
mov dword [esp + 4], 0
mov ecx, esi
mov dword [esp], eax
call fcn.004ce110
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x1b4]
sub esp, 0x10
mov dword [ebp - 0x184], ecx
mov byte [eax + ecx], 0
lea eax, [ebp - 0x170]
mov dword [ebp - 0x1b4], eax
mov dword [ebp - 0x158], edi
mov edx, dword [esi]
lea eax, [esi + 8]
cmp edx, eax
je 0x4225b0
mov dword [ebp - 0x158], edx
mov edx, dword [esi + 8]
mov dword [ebp - 0x150], edx
mov edx, dword [esi + 4]
mov dword [ebp - 0x154], edx
mov dword [esi], eax
mov dword [esi + 4], 0
mov byte [esi + 8], 0
mov edx, dword [ebp - 0x158]
mov eax, dword [ebx]
cmp edx, edi
je 0x4224d0
mov esi, dword [ebp - 0x154]
lea ecx, [ebx + 8]
cmp eax, ecx
mov dword [ebp - 0x1b8], esi
mov esi, dword [ebp - 0x150]
je 0x422510
mov dword [ebx], edx
mov edx, dword [ebp - 0x1b8]
test eax, eax
mov ecx, dword [ebx + 8]
mov dword [ebx + 8], esi
mov dword [ebx + 4], edx
je 0x42251e
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x154], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x158]
cmp eax, edi
je 0x421ffc
mov dword [esp], eax
call fcn.004ed8c0
mov eax, dword [ebp - 0x188]
lea edi, [ebp - 0x180]
cmp eax, edi
je 0x422014
mov dword [esp], eax
call fcn.004ed8c0
mov eax, dword [ebp - 0x1a0]
lea edi, [ebp - 0x198]
cmp eax, edi
je 0x42202c
mov dword [esp], eax
call fcn.004ed8c0
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x1ac]
je 0x422042
mov dword [esp], eax
call fcn.004ed8c0
mov eax, dword [ebp - 0x1b0]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
sub esp, 8
cmp eax, 0xffffffff
je 0x422350
mov dword [esp], eax
call dword [sym.imp.KERNEL32.dll_FindClose]
sub esp, 4
call fcn.0042c430
mov edx, dword [ebx]
mov ebx, dword [ebp - 0x1b4]
mov ecx, 0x7041
mov edi, dword [ebp - 0x1ac]
mov dword [esp + 0x10], str.Find_the_service_application_:__s
mov dword [esp + 0xc], 0x1cb
mov dword [esp + 4], 0
mov dword [esp + 0x14], edx
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [ebp - 0x170], edi
mov dword [ebp - 0x168], 0x63656843
mov dword [ebp - 0x164], 0x7265536b
mov dword [ebp - 0x160], 0x65636976
mov word [ebp - 0x15c], cx
mov byte [ebp - 0x15a], 0x70
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x159], 0
call fcn.0042ce70
mov eax, dword [ebp - 0x170]
cmp eax, edi
je 0x422104
mov dword [esp], eax
call fcn.004ed8c0
lea esp, [ebp - 0xc]
mov eax, 1
pop ebx
pop esi
pop edi
pop ebp
ret 4
lea eax, [ebp - 0x158]
lea edi, [ebx + 8]
mov dword [esp], eax
mov dword [ebp - 0x1b0], eax
call fcn.0042f800
mov edx, dword [ebp - 0x158]
mov dword [ebp - 0x1ac], edi
lea edi, [ebp - 0x150]
mov eax, dword [ebx]
cmp edx, edi
je 0x422420
mov ecx, dword [ebp - 0x154]
cmp eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b8], ecx
mov ecx, dword [ebp - 0x150]
mov dword [ebp - 0x1b4], ecx
je 0x422531
mov dword [ebx], edx
mov edx, dword [ebp - 0x1b8]
test eax, eax
mov ecx, dword [ebx + 8]
mov dword [ebx + 4], edx
mov edx, dword [ebp - 0x1b4]
mov dword [ebx + 8], edx
je 0x42253f
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x150], ecx
mov dword [ebp - 0x154], 0
mov byte [eax], 0
mov eax, dword [ebp - 0x158]
cmp eax, edi
je 0x4221b4
mov dword [esp], eax
call fcn.004ed8c0
mov edx, dword [ebx + 4]
test edx, edx
jne 0x42224b
call fcn.0042c430
mov edx, dword [ebp - 0x1b0]
mov ecx, 0x7041
mov dword [esp + 0x10], str.GetModulePath_failed
mov dword [esp + 0xc], 0x1bb
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0x158], edi
mov dword [esp + 8], edx
mov dword [ebp - 0x150], 0x63656843
mov dword [ebp - 0x14c], 0x7265536b
mov dword [ebp - 0x148], 0x65636976
mov word [ebp - 0x144], cx
mov byte [ebp - 0x142], 0x70
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x141], 0
call fcn.0042ce70
mov eax, dword [ebp - 0x158]
cmp eax, edi
je 0x422248
mov dword [esp], eax
call fcn.004ed8c0
mov edx, dword [ebx + 4]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [ebp - 0x1b8], eax
mov eax, dword [ebx]
lea esi, [ecx + edx]
cmp dword [ebp - 0x1ac], eax
mov dword [ebp - 0x1b4], ecx
mov ecx, 0xf
je 0x422271
mov ecx, dword [ebx + 8]
cmp esi, ecx
ja 0x4224a0
mov ecx, dword [ebp - 0x1b4]
test ecx, ecx
je 0x4222a0
add eax, edx
cmp ecx, 1
jne 0x422590
mov edx, dword [ebp - 0x1b8]
movzx edx, byte [edx]
mov byte [eax], dl
mov eax, dword [ebx]
nop
lea esi, [esi]
mov dword [ebx + 4], esi
mov byte [eax + esi], 0
call fcn.0042c430
mov edx, 0x7041
mov dword [esp + 0x10], str.Get_path_successfully_where_the_service_in
mov dword [esp + 0xc], 0x1bf
mov word [ebp - 0x144], dx
mov edx, dword [ebp - 0x1b0]
mov dword [esp + 4], 0
mov dword [esp], eax
mov dword [ebp - 0x158], edi
mov dword [ebp - 0x150], 0x63656843
mov dword [esp + 8], edx
mov dword [ebp - 0x14c], 0x7265536b
mov dword [ebp - 0x148], 0x65636976
mov byte [ebp - 0x142], 0x70
mov dword [ebp - 0x154], 0xf
mov byte [ebp - 0x141], 0
call fcn.0042ce70
mov eax, dword [ebp - 0x158]
cmp eax, edi
je 0x422330
mov dword [esp], eax
call fcn.004ed8c0
lea eax, [ebp - 0x168]
mov dword [ebp - 0x1ac], eax
lea eax, [ebp - 0x170]
mov dword [ebp - 0x1b4], eax
jmp 0x422042
call fcn.0042c430
mov edx, dword [ebx]
mov edi, dword [ebp - 0x1b4]
mov esi, 0x7041
mov ebx, dword [ebp - 0x1ac]
mov dword [esp + 0x10], str.Not_find_the_service_application_:__s
mov dword [esp + 0xc], 0x1c6
mov dword [esp + 4], 1
mov dword [esp + 0x14], edx
mov dword [esp + 8], edi
mov dword [esp], eax
mov dword [ebp - 0x170], ebx
mov dword [ebp - 0x168], 0x63656843
mov dword [ebp - 0x164], 0x7265536b
mov dword [ebp - 0x160], 0x65636976
mov word [ebp - 0x15c], si
mov byte [ebp - 0x15a], 0x70
mov dword [ebp - 0x16c], 0xf
mov byte [ebp - 0x159], 0
call fcn.0042ce70
mov eax, dword [ebp - 0x170]
cmp eax, ebx
je 0x4223e5
mov dword [esp], eax
call fcn.004ed8c0
lea esp, [ebp - 0xc]
xor eax, eax
pop ebx
pop esi
pop edi
pop ebp
ret 4
test ecx, ecx
je 0x422460
add eax, dword [ebp - 0x1bc]
cmp ecx, 1
jne 0x4225e0
movzx edx, byte [esi]
mov ecx, dword [ebp - 0x1b4]
lea esi, [ebp - 0x188]
mov byte [eax], dl
mov eax, dword [ebp - 0x188]
jmp 0x421f3d
mov edx, dword [ebp - 0x154]
test edx, edx
je 0x422444
cmp edx, 1
jne 0x422610
movzx edx, byte [ebp - 0x150]
mov byte [eax], dl
mov edx, dword [ebp - 0x154]
mov eax, dword [ebx]
mov dword [ebx + 4], edx
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x158]
jmp 0x422195
lea esi, [ebp - 0x188]
mov ecx, edx
jmp 0x421f3d
mov ecx, dword [eax + 8]
mov dword [ebp - 0x180], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x17c], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x178], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x174], ecx
jmp 0x421e7c
mov eax, dword [ebp - 0x1b4]
mov dword [esp + 4], 0
mov ecx, ebx
mov dword [esp], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x1b8]
mov dword [esp + 8], eax
call fcn.004ce110
mov eax, dword [ebx]
sub esp, 0x10
jmp 0x4222a0
mov edx, dword [ebp - 0x154]
test edx, edx
je 0x4224f4
cmp edx, 1
jne 0x422630
movzx edx, byte [ebp - 0x150]
mov byte [eax], dl
mov edx, dword [ebp - 0x154]
mov eax, dword [ebx]
mov dword [ebx + 4], edx
mov byte [eax + edx], 0
mov eax, dword [ebp - 0x158]
jmp 0x421fdd
mov eax, dword [ebp - 0x1b8]
mov dword [ebx], edx
mov dword [ebx + 8], esi
mov dword [ebx + 4], eax
mov dword [ebp - 0x158], edi
lea edi, [ebp - 0x150]
mov eax, edi
jmp 0x421fdd
mov eax, dword [ebp - 0x1b8]
mov dword [ebx], edx
mov dword [ebx + 8], ecx
mov dword [ebx + 4], eax
mov dword [ebp - 0x158], edi
lea edi, [ebp - 0x150]
mov eax, edi
jmp 0x422195
mov esi, dword [ebp - 0x1bc]
lea ecx, [ebp - 0x170]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x1b4], ecx
mov dword [esp + 0xc], esi
call fcn.004cb7a0
sub esp, 0x10
mov esi, eax
jmp 0x421f53
mov edx, dword [ebp - 0x1b8]
mov dword [esp + 8], ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebx]
jmp 0x4222a0
mov edx, dword [esi + 8]
mov dword [ebp - 0x150], edx
mov edx, dword [esi + 0xc]
mov dword [ebp - 0x14c], edx
mov edx, dword [esi + 0x10]
mov dword [ebp - 0x148], edx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0x144], edx
jmp 0x421f75
mov dword [esp + 8], ecx
mov dword [esp + 4], esi
lea esi, [ebp - 0x188]
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x1b4]
jmp 0x421f3d
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x154]
mov eax, dword [ebx]
jmp 0x422444
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x154]
mov eax, dword [ebx]
jmp 0x4224f4