Function at 0x466700
Capabilities:
Create thread

Disassembly:
sub esp, 0x408
cmp dword [esp + 0x418], 0
push ebx
push ebp
push edi
mov ebx, ecx
je 0x46671a
call fcn.00458df0
mov edi, dword [esp + 0x41c]
test edi, edi
je 0x466730
mov ebp, 1
mov dword [esp + 0xc], ebp
jmp 0x466797
mov ecx, ebx
call fcn.00477f40
test eax, eax
mov dword [esp + 0xc], eax
je 0x466a70
cmp eax, 0x10
jle 0x466793
mov ecx, ebx
call fcn.00477f40
push eax
mov eax, dword [0x4b177c]
mov ecx, dword [eax + 0x2a4]
push ecx
lea edx, [esp + 0x1c]
push 0x400
push edx
call fcn.00452ec0
mov eax, dword [0x4b177c]
mov ecx, dword [eax + 0x2a8]
mov eax, dword [ebx + 0x50]
push 0x23
push ecx
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.00448d30
add esp, 0x20
cmp eax, 6
jne 0x466a70
mov ebp, dword [esp + 0xc]
push esi
push 0x30
call fcn.00445590
mov esi, eax
mov dword [esi + 0x18], ebp
mov ecx, dword [ebx + 0x50]
push 0x20000
mov dword [esi + 0x24], ecx
call fcn.00445590
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x424]
add esp, 8
test eax, eax
je 0x4667e0
push eax
call fcn.004645a0
add esp, 4
mov dword [esi + 8], eax
mov dword [esi], 0
mov dword [esi + 4], 0
jmp 0x466806
mov dword [esi + 8], 0
mov edx, dword [0x4b1680]
push edx
call fcn.004645a0
mov dword [esi], eax
mov eax, dword [0x4b1748]
push eax
call fcn.004645a0
add esp, 8
mov dword [esi + 4], eax
push 0x20000
call fcn.00445590
mov ecx, dword [esi + 0x18]
add ecx, ecx
add ecx, ecx
push ecx
mov dword [esi + 0x20], eax
call fcn.00445590
mov edx, dword [esi + 0x18]
add edx, edx
add edx, edx
push edx
mov dword [esi + 0xc], eax
call fcn.00445590
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x18]
push eax
call fcn.00445590
add esp, 0x10
test edi, edi
mov dword [esi + 0x14], eax
je 0x4668f9
push edi
call fcn.00461140
push eax
call fcn.00452290
mov ecx, dword [esi + 0xc]
mov dword [ecx], eax
mov al, byte [edi]
add esp, 8
xor ebp, ebp
test al, al
mov ecx, edi
je 0x466884
cmp al, 0x5c
je 0x466870
cmp al, 0x2f
jne 0x466872
mov ebp, ecx
mov al, byte [ecx + 1]
add ecx, 1
test al, al
jne 0x466868
test ebp, ebp
je 0x466884
sub ebp, edi
jmp 0x466886
xor ebp, ebp
add ebp, 1
push ebp
call fcn.004522d0
mov edx, dword [esi + 0x10]
mov dword [edx], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push edi
push ebp
push ecx
call fcn.0043a4e0
mov edx, dword [esi + 0x10]
mov eax, dword [edx]
push eax
push str.execp__s_n
call fcn.00433c50
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
push edx
push str.execf__s_n
call fcn.00433c50
mov eax, dword [esi + 0x14]
mov byte [eax], 2
add esp, 0x20
cmp byte [edi], 0
mov eax, edi
je 0x4668d9
add eax, 1
cmp byte [eax], 0
jne 0x4668d1
mov ecx, dword [esp + 0x424]
push 0
push ecx
sub eax, edi
push eax
push edi
call fcn.00433360
add esp, 0x10
call fcn.00433400
jmp 0x466a1a
mov ecx, ebx
xor edi, edi
call fcn.00477f40
test eax, eax
jle 0x4669b8
lea ebx, [ebx]
push 0
push 0
push edi
mov ecx, ebx
call fcn.00478210
mov ebp, eax
add ebp, 1
push ebp
call fcn.004522d0
mov edx, dword [esi + 0xc]
add esp, 4
mov dword [edx + edi*4], eax
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + edi*4]
push ebp
push ecx
push edi
mov ecx, ebx
call fcn.00478210
push 0
push 0
push edi
mov ecx, ebx
call fcn.004782c0
mov ebp, eax
add ebp, 1
push ebp
call fcn.004522d0
mov edx, dword [esi + 0x10]
add esp, 4
mov dword [edx + edi*4], eax
mov eax, dword [esi + 0x10]
mov ecx, dword [eax + edi*4]
push ebp
push ecx
push edi
mov ecx, ebx
call fcn.004782c0
mov edx, dword [esi + 0xc]
mov eax, dword [edx + edi*4]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + edi*4]
push eax
push edx
mov ecx, ebx
call fcn.00477f40
push eax
push edi
push str.selection:__d__d:__s_s_n
call fcn.00433c50
add esp, 0x14
push edi
mov ecx, ebx
call fcn.00478420
mov ecx, dword [esi + 0x14]
mov byte [edi + ecx], al
mov ecx, ebx
add edi, 1
call fcn.00477f40
cmp edi, eax
jl 0x466910
mov ebp, dword [esp + 0x10]
call fcn.00433400
xor edi, edi
test ebp, ebp
jle 0x466a1a
cmp byte [0x4b1744], 0
je 0x466a13
mov edx, dword [esi + 0xc]
mov eax, dword [edx + edi*4]
mov ecx, dword [esi + 0x10]
mov edx, dword [ecx + edi*4]
push eax
mov eax, dword [esi + 0x20]
push edx
push 0x20000
push eax
call fcn.00434ee0
mov ecx, dword [esi + 0x20]
add esp, 0x10
cmp byte [ecx], 0
mov eax, ecx
je 0x4669fd
add eax, 1
cmp byte [eax], 0
jne 0x4669f5
mov edx, dword [esi + 0x14]
movsx edx, byte [edx + edi]
push 0
push edx
sub eax, ecx
push eax
push ecx
call fcn.00433360
add esp, 0x10
add edi, 1
cmp edi, ebp
jl 0x4669c3
mov eax, dword [esp + 0x42c]
mov dword [esi + 0x28], eax
mov ecx, dword [ebx + 0x94]
mov dword [esi + 0x2c], ecx
cmp dword [0x4b16c8], 0
je 0x466a51
lea edx, [esp + 0x14]
push edx
push 0
push esi
push fcn.004661b0
push 0
push 0
call fcn.0048a41e
add esp, 0x18
jmp 0x466a5b
push esi
call fcn.004661b0
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.exec:_main_thread_regained_focus_n
call fcn.00433c50
add esp, 4
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x408
ret 0x14