Function at 0x461810
Capabilities:
Create thread

Disassembly:
sub esp, 0x408
cmp dword [esp + 0x418], 0
push ebx
push ebp
push edi
mov ebx, ecx
je 0x46182a
call fcn.004540c0
mov edi, dword [esp + 0x41c]
test edi, edi
je 0x461840
mov ebp, 1
mov dword [esp + 0xc], ebp
jmp 0x4618a7
mov ecx, ebx
call fcn.00472820
test eax, eax
mov dword [esp + 0xc], eax
je 0x461b7e
cmp eax, 0x10
jle 0x4618a3
mov ecx, ebx
call fcn.00472820
push eax
mov eax, dword [0x4aa7bc]
mov ecx, dword [eax + 0x2a4]
push ecx
lea edx, [esp + 0x1c]
push 0x400
push edx
call fcn.0044e7a0
mov eax, dword [0x4aa7bc]
mov ecx, dword [eax + 0x2a8]
mov eax, dword [ebx + 0x48]
push 0x23
push ecx
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.004452d0
add esp, 0x20
cmp eax, 6
jne 0x461b7e
mov ebp, dword [esp + 0xc]
push esi
push 0x30
call fcn.00441a20
mov esi, eax
mov dword [esi + 0x18], ebp
mov ecx, dword [ebx + 0x48]
push 0x20000
mov dword [esi + 0x24], ecx
call fcn.00441a20
mov dword [esi + 0x1c], eax
mov eax, dword [esp + 0x424]
add esp, 8
test eax, eax
je 0x4618f0
push eax
call fcn.0045f6b0
add esp, 4
mov dword [esi + 8], eax
mov dword [esi], 0
mov dword [esi + 4], 0
jmp 0x461916
mov dword [esi + 8], 0
mov edx, dword [0x4aa644]
push edx
call fcn.0045f6b0
mov dword [esi], eax
mov eax, dword [0x4aa768]
push eax
call fcn.0045f6b0
add esp, 8
mov dword [esi + 4], eax
push 0x20000
call fcn.00441a20
mov ecx, dword [esi + 0x18]
add ecx, ecx
add ecx, ecx
push ecx
mov dword [esi + 0x20], eax
call fcn.00441a20
mov edx, dword [esi + 0x18]
add edx, edx
add edx, edx
push edx
mov dword [esi + 0xc], eax
call fcn.00441a20
mov dword [esi + 0x10], eax
mov eax, dword [esi + 0x18]
push eax
call fcn.00441a20
add esp, 0x10
test edi, edi
mov dword [esi + 0x14], eax
je 0x461a09
push edi
call fcn.0045c2b0
push eax
call fcn.0044dba0
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 0x461994
cmp al, 0x5c
je 0x461980
cmp al, 0x2f
jne 0x461982
mov ebp, ecx
mov al, byte [ecx + 1]
add ecx, 1
test al, al
jne 0x461978
test ebp, ebp
je 0x461994
sub ebp, edi
jmp 0x461996
xor ebp, ebp
add ebp, 1
push ebp
call fcn.0044dbe0
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.00436c40
mov edx, dword [esi + 0x10]
mov eax, dword [edx]
push eax
push str.execp__s_n
call fcn.00430350
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
push edx
push str.execf__s_n
call fcn.00430350
mov eax, dword [esi + 0x14]
mov byte [eax], 2
add esp, 0x20
cmp byte [edi], 0
mov eax, edi
je 0x4619e9
add eax, 1
cmp byte [eax], 0
jne 0x4619e1
mov ecx, dword [esp + 0x424]
push 0
push ecx
sub eax, edi
push eax
push edi
call fcn.0042f8c0
add esp, 0x10
call fcn.0042f960
jmp 0x461b2a
mov ecx, ebx
xor edi, edi
call fcn.00472820
test eax, eax
jle 0x461ac8
lea ebx, [ebx]
push 0
push 0
push edi
mov ecx, ebx
call fcn.00472af0
mov ebp, eax
add ebp, 1
push ebp
call fcn.0044dbe0
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.00472af0
push 0
push 0
push edi
mov ecx, ebx
call fcn.00472ba0
mov ebp, eax
add ebp, 1
push ebp
call fcn.0044dbe0
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.00472ba0
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.00472820
push eax
push edi
push str.selection:__d__d:__s_s_n
call fcn.00430350
add esp, 0x14
push edi
mov ecx, ebx
call fcn.00472d00
mov ecx, dword [esi + 0x14]
mov byte [edi + ecx], al
mov ecx, ebx
add edi, 1
call fcn.00472820
cmp edi, eax
jl 0x461a20
mov ebp, dword [esp + 0x10]
call fcn.0042f960
xor edi, edi
test ebp, ebp
jle 0x461b2a
cmp byte [0x4aa764], 0
je 0x461b23
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.004315f0
mov ecx, dword [esi + 0x20]
add esp, 0x10
cmp byte [ecx], 0
mov eax, ecx
je 0x461b0d
add eax, 1
cmp byte [eax], 0
jne 0x461b05
mov edx, dword [esi + 0x14]
movsx edx, byte [edx + edi]
push 0
push edx
sub eax, ecx
push eax
push ecx
call fcn.0042f8c0
add esp, 0x10
add edi, 1
cmp edi, ebp
jl 0x461ad3
mov eax, dword [0x4aa6ac]
mov dword [esi + 0x28], eax
mov ecx, dword [ebx + 0x8c]
mov dword [esi + 0x2c], ecx
cmp dword [0x4aa6cc], 0
je 0x461b5f
lea edx, [esp + 0x14]
push edx
push 0
push esi
push fcn.004612c0
push 0
push 0
call fcn.004840b5
add esp, 0x18
jmp 0x461b69
push esi
call fcn.004612c0
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push str.exec:_main_thread_regained_focus_n
call fcn.00430350
add esp, 4
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x408
ret 0x10