Function at 0x415940
Capabilities:
Create process on windows

Disassembly:
sub esp, 0x944
push ebp
push esi
push edi
push 0
call fcn.004194af
push eax
call fcn.00419d1e
lea eax, [esp + 0x474]
push eax
call fcn.0040df40
lea ecx, [esp + 0x478]
lea edx, [esp + 0x270]
push ecx
push str.__sDiscover.exe_
push edx
call fcn.00418db9
lea eax, [esp + 0x27c]
push eax
push str.ejec_disc_genid_s
push 2
call fcn.0040d050
add esp, 0x24
lea ecx, [esp + 0x46c]
lea edx, [esp + 0x264]
push 0x122
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_GetShortPathNameA]
test eax, eax
je 0x415a03
mov edi, str.__genereID
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x46c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 5
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x470]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_WinExec]
lea ecx, [esp + 0x46c]
push ecx
push str.ejec_disc_genid2_s
jmp 0x415a51
mov edi, str.__genereID
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x264]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 5
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
lea eax, [esp + 0x268]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call dword [sym.imp.KERNEL32.dll_WinExec]
lea ecx, [esp + 0x264]
push ecx
push str.ejec_disc_genid_s
push 2
call fcn.0040d050
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
add esp, 0xc
xor esi, esi
push 0xfa0
call edi
call fcn.00415500
test eax, eax
jne 0x415a7b
inc esi
cmp esi, 0x28
jl 0x415a63
jmp 0x415a8a
push str.listodmi
push 1
call fcn.0040d050
add esp, 8
cmp esi, 0x28
je 0x415d14
push 0x3a98
call edi
lea edx, [esp + 0x824]
lea eax, [esp + 0x598]
push edx
lea ecx, [esp + 0x13c]
push eax
lea edx, [esp + 0x14]
push ecx
lea eax, [esp + 0x704]
push edx
push eax
call fcn.004156a0
add esp, 0x14
test eax, eax
je 0x415d14
push str.si_leyo_dmi
push 1
call fcn.0040d050
mov eax, dword [esp + 0x95c]
add esp, 8
test eax, eax
lea esi, [esp + 0x598]
je 0x415b99
test esi, esi
je 0x415b99
cmp byte [esi], 0
je 0x415b99
push 0x2c
push esi
call fcn.00418920
mov edi, eax
add esp, 8
test edi, edi
je 0x415b19
mov byte [edi], 0
lea ecx, [esp + 0x264]
lea edx, [esp + 0x824]
push ecx
push edx
lea eax, [esp + 0x140]
push esi
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x708]
push ecx
push edx
call fcn.00415160
add esp, 0x18
test eax, eax
je 0x415b56
mov al, byte [esp + 0x264]
test al, al
jne 0x415b72
test edi, edi
je 0x415b6e
mov al, byte [edi + 1]
lea esi, [edi + 1]
cmp al, 0x20
jne 0x415af4
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x415b64
jmp 0x415af4
xor esi, esi
jmp 0x415af4
lea eax, [esp + 0x264]
push eax
call fcn.00422719
lea ecx, [esp + 0x268]
push ecx
call fcn.004155e0
add esp, 8
pop edi
pop esi
pop ebp
add esp, 0x944
ret
lea edx, [esp + 0x598]
push 0x2c
push edx
call fcn.00418920
add esp, 8
test eax, eax
je 0x415bc2
mov byte [eax], 0
lea eax, [esp + 0x598]
push eax
call fcn.004157a0
add esp, 4
lea edi, [esp + 0x598]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 5
jbe 0x415d14
push str.macs__5
push 1
call fcn.0040d050
lea edi, [esp + 0x14]
or ecx, 0xffffffff
xor eax, eax
add esp, 8
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + 0x700], 0
cmp ecx, 8
jbe 0x415c56
mov al, byte [esp + 0x12]
xor ecx, ecx
test al, al
je 0x415c21
lea edx, [esp + 0x12]
movsx eax, al
add ecx, eax
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x415c14
mov eax, 0x51eb851f
mov esi, 0x19
imul ecx
mov eax, edx
mov byte [esp + 0x14], 0
sar eax, 3
mov edx, eax
shr edx, 0x1f
add eax, edx
cdq
idiv esi
mov eax, ecx
mov ecx, esi
add dl, 0x41
mov byte [esp + 0x12], dl
cdq
idiv ecx
add dl, 0x41
mov byte [esp + 0x13], dl
lea edi, [esp + 0x138]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 0x15
jbe 0x415ccb
mov al, byte [esp + 0x14c]
xor ecx, ecx
test al, al
je 0x415c8d
lea edx, [esp + 0x14c]
movsx eax, al
add ecx, eax
mov al, byte [edx + 1]
inc edx
test al, al
jne 0x415c80
mov eax, 0x51eb851f
mov esi, 0x19
imul ecx
mov eax, edx
mov byte [esp + 0x14e], 0
sar eax, 3
mov edx, eax
shr edx, 0x1f
add eax, edx
cdq
idiv esi
mov eax, ecx
mov ecx, esi
add dl, 0x41
mov byte [esp + 0x14c], dl
cdq
idiv ecx
add dl, 0x41
mov byte [esp + 0x14d], dl
lea edx, [esp + 0x598]
lea eax, [esp + 0x138]
push edx
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x700]
push ecx
push edx
lea eax, [esp + 0x274]
push str._s_s_s_s
push eax
call fcn.00418db9
lea ecx, [esp + 0x27c]
push ecx
call fcn.004155e0
add esp, 0x1c
pop edi
pop esi
pop ebp
add esp, 0x944
ret
push str.no_ha_generado
push 1
call fcn.0040d050
lea edx, [esp + 0x82c]
push 0x104
push edx
call fcn.004157d0
push 0x19
call fcn.0040cff0
and eax, 0xff
add esp, 0x14
add eax, 0x41
push eax
push 0x19
call fcn.0040cff0
and eax, 0xff
add esp, 4
add eax, 0x41
push eax
push 0x19
call fcn.0040cff0
and eax, 0xff
add esp, 4
add eax, 0x41
lea ecx, [esp + 0x26c]
push eax
lea eax, [esp + 0x830]
push eax
push str._s__c_c_c
push ecx
call fcn.00418db9
lea edx, [esp + 0x27c]
push edx
call fcn.004155e0
add esp, 0x1c
pop edi
pop esi
pop ebp
add esp, 0x944
ret