Function at 0x46b62d
Capabilities:
Create thread

Disassembly:
sub esp, 0x210
mov eax, dword [0x4c54e8]
xor eax, esp
mov dword [esp + 0x20c], eax
push esi
mov esi, ecx
cmp byte [esi + 0x410], 1
je 0x46b8e8
lea eax, [esp + 0x1c]
push eax
push 0x202
mov byte [esi + 0x410], 1
call dword [fcn.0049f42c]
test eax, eax
je 0x46b696
mov esi, dword [0x4c7aac]
test esi, esi
je 0x46b8e8
push 1
call dword [fcn.0049f46c]
push eax
push 0x4a96a8
push 0x4a968c
mov ecx, esi
call fcn.004502a9
pop esi
mov ecx, dword [esp + 0x20c]
xor ecx, esp
call fcn.004761ea
add esp, 0x210
ret
push ebx
push ebp
mov ecx, esi
call fcn.0046a869
mov ebx, dword [0x49f448]
mov word [esi + 0x484], 0x4970
mov ebp, 3
push edi
jmp 0x46b6b9
push 0
push 2
push 2
sub ebp, 1
call ebx
cmp eax, 0xffffffff
mov dword [esi + 0x414], eax
jne 0x46b6ff
mov edi, dword [0x4c7aac]
test edi, edi
je 0x46b6f3
push 1
call dword [fcn.0049f46c]
push eax
push 0x4a9670
push 0x4a968c
mov ecx, edi
call fcn.004502a9
push 0x32
call dword [fcn.0049f228]
test ebp, ebp
jne 0x46b6b9
cmp dword [esi + 0x414], 0xffffffff
je 0x46b836
mov ebx, dword [0x49f438]
mov edi, 3
mov edi, edi
mov edx, dword [esi + 0x414]
lea ecx, [esp + 0x10]
push ecx
push 0x8004667e
push edx
sub edi, 1
mov dword [esp + 0x1c], 1
call ebx
cmp eax, 0xffffffff
jne 0x46b79d
call dword [fcn.0049f46c]
push eax
lea eax, [esp + 0x1bc]
push 0x4a963c
push eax
call fcn.0046aaa9
mov ecx, dword [0x4c7aac]
add esp, 0xc
test ecx, ecx
je 0x46b778
push 1
push 0
lea edx, [esp + 0x1c0]
push edx
push 0x4a968c
call fcn.004502a9
push 0x32
call dword [fcn.0049f228]
test edi, edi
jne 0x46b719
mov eax, dword [esi + 0x414]
push eax
call dword [fcn.0049f474]
mov byte [esi + 0x410], 0
jmp 0x46b8e5
mov ebx, dword [fcn.0049f440]
mov ebp, 3
nop
movzx ecx, word [esi + 0x484]
xor eax, eax
mov dword [esp + 0x18], eax
push ecx
sub ebp, 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], eax
mov word [esp + 0x1c], 2
call ebx
push 0
mov word [esp + 0x1e], ax
call dword [0x49f484]
push 0x10
lea edx, [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x414]
push edx
push eax
call dword [fcn.0049f428]
cmp eax, 0xffffffff
jne 0x46b842
mov edi, dword [0x4c7aac]
test edi, edi
je 0x46b81d
push 1
call dword [fcn.0049f46c]
push eax
push 0x4a9624
push 0x4a968c
mov ecx, edi
call fcn.004502a9
push 0x32
call dword [fcn.0049f228]
test ebp, ebp
jne 0x46b7a9
mov ecx, dword [esi + 0x414]
push ecx
call dword [fcn.0049f474]
mov byte [esi + 0x410], 0
jmp 0x46b8e5
mov ecx, esi
call fcn.0046acb9
mov ecx, esi
call fcn.0046ede9
lea edx, [esp + 0x14]
push edx
push 0
push esi
push 0x467d20
push 0
push 0
call fcn.004787a9
add esp, 0x18
test eax, eax
je 0x46b87a
cmp eax, 1
je 0x46b87a
mov dword [esi + 0x474], eax
jmp 0x46b8e5
lea eax, [esp + 0x10]
push eax
call fcn.00478685
mov ecx, dword [esp + 0x14]
add esp, 4
cmp ecx, 0xb
je 0x46b8c0
cmp ecx, 0x16
je 0x46b8af
mov eax, dword [0x4c7aac]
test eax, eax
je 0x46b8d4
push ecx
push 0x4a95f4
push eax
call fcn.004501b9
add esp, 0xc
jmp 0x46b8d4
mov ecx, dword [0x4c7aac]
test ecx, ecx
je 0x46b8d4
push 0x4a95c8
jmp 0x46b8cf
mov ecx, dword [0x4c7aac]
test ecx, ecx
je 0x46b8d4
push 0x4a9588
call fcn.004500d9
mov dword [esi + 0x474], 0
mov byte [esi + 0x478], 1
pop edi
pop ebp
pop ebx
mov ecx, dword [esp + 0x210]
pop esi
xor ecx, esp
call fcn.004761ea
add esp, 0x210
ret