Function at 0x408350
Capabilities:
Terminate process

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x20
mov esi, ecx
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov ecx, esp
push edx
call fcn.0041d0b0
movzx eax, byte [esp]
test al, 1
je 0x408390
mov eax, dword [esp + 4]
cmp eax, 3
je 0x408397
jmp 0x4083b1
shr eax, 1
cmp eax, 3
jne 0x4083b1
mov ecx, esp
push 3
push 0x520161
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x408480
call fcn.0040a490
test eax, eax
je 0x4085e4
mov edi, eax
movzx eax, byte [esp]
test al, 1
je 0x4083ec
mov ecx, dword [esp + 4]
cmp ecx, 5
je 0x4083f5
test al, 1
jne 0x408416
and al, 0xfe
cmp al, 2
jne 0x408580
mov al, byte [esp + 1]
cmp al, 0x60
jg 0x40842f
jmp 0x408580
mov ecx, eax
shr ecx, 1
cmp ecx, 5
jne 0x4083d1
mov ecx, esp
push 5
push str.other
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
je 0x4084aa
mov al, byte [esp]
test al, 1
je 0x4083d5
cmp dword [esp + 4], 1
jne 0x408580
mov eax, dword [esp + 8]
mov al, byte [eax]
cmp al, 0x61
jl 0x408580
movzx eax, al
add eax, 0xffffff9f
cmp eax, edi
jge 0x408580
movsd xmm0, qword [esp]
mov eax, dword [esp + 8]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [esp + 8], 0
mov dword [esi + 8], eax
movsd qword [esi], xmm0
test byte [esp], 1
je 0x408476
push dword [esp + 8]
call fcn.00417920
add esp, 4
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp byte [ebp + 8], 0
je 0x40850e
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [esi], 6
mov dword [esi + 1], 0x6c6c61
jmp 0x408464
lea ecx, [esp + 0x10]
mov dword [esi + 4], 0
mov dword [esi], 0
mov dword [esi + 8], 0
call fcn.0040a3a0
mov bl, byte [esp + 0x10]
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x11]
test bl, 1
cmovne eax, ecx
movsx eax, byte [eax]
add eax, 0xffffffa0
cdq
idiv edi
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov byte [esi], 2
add dl, 0x61
test bl, 1
mov byte [esi + 1], dl
mov byte [esi + 2], 0
jne 0x408539
xor eax, eax
mov cl, 2
jmp 0x408547
call fcn.0040a490
test eax, eax
jle 0x408576
mov dword [esi], 0
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov word [esi], 0x6102
mov byte [esi + 2], 0
jmp 0x408464
push ecx
call fcn.00417920
add esp, 4
mov cl, byte [esi]
mov eax, dword [esi + 4]
mov edx, ecx
shr dl, 1
test cl, 1
movzx ecx, dl
cmovne ecx, eax
test ecx, ecx
jne 0x408464
mov ecx, esi
push 0
push 0x5200f0
push 0xffffffffffffffff
push 0
call fcn.0041ef70
test eax, eax
jne 0x408464
push str.No_known_slots
call fcn.00423770
push 2
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
test byte [esp], 1
je 0x408597
mov ecx, dword [esp + 8]
jmp 0x40859b
lea ecx, [esp + 1]
push ecx
push str.Slot__s_does_not_exist._supported_slots_are:_n
push eax
call fcn.0040cce0
add esp, 0xc
test edi, edi
jle 0x4085dd
mov ebx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
mov esi, 0x61000000
push 2
call ebx
add esp, 4
mov ecx, esi
sar ecx, 0x18
push ecx
push 0x522294
push eax
call fcn.0040cce0
add esp, 0xc
add esi, 0x1000000
dec edi
jne 0x4085b9
push 1
call sub.api_ms_win_crt_runtime_l1_1_0.dll_exit
push str.Device_does_not_support_slots
call fcn.00423770
nop