Function at 0x48e290
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4aea96
mov eax, dword fs:[0]
push eax
sub esp, 0x78
mov eax, dword [0x4df798]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x80], ecx
lea ecx, [ebp - 0x1c]
call fcn.00401780
mov dword [ebp - 4], 0
lea eax, [ebp - 0x1c]
push eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x2108
call fcn.00431a78
push 0x34
mov ecx, 0x53550c
call fcn.00481790
push eax
lea ecx, [ebp - 0x1c]
call fcn.00406320
test eax, eax
jne 0x48e319
push 0
push 0
push 0x12
mov ecx, dword [0x4ec0cc]
push ecx
call dword [sym.imp.USER32.dll_PostThreadMessageW]
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00401620
jmp 0x48e643
mov dword [0x52fb90], 2
push 0x34
mov ecx, 0x53550c
call fcn.00481790
push eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x2108
call fcn.00433bd4
mov ecx, dword [ebp - 0x80]
add ecx, 0x2238
call fcn.00406070
test eax, eax
setne dl
mov byte [ebp - 0x11], dl
mov dword [ebp - 0x18], 0x52e1e4
mov ecx, dword [ebp - 0x18]
call fcn.004010a0
movzx eax, al
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x20], 0
jmp 0x48e37b
mov ecx, dword [ebp - 0x20]
add ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
cmp edx, dword [ebp - 0x10]
jge 0x48e5d2
movzx eax, byte [ebp - 0x11]
test eax, eax
jne 0x48e39f
mov ecx, dword [ebp - 0x80]
mov edx, dword [ebp - 0x20]
cmp edx, dword [ecx + 0x7a64]
je 0x48e39f
jmp 0x48e372
movzx eax, byte [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00403ec0
mov dword [ebp - 0x24], eax
cmp dword [ebp - 0x24], 4
je 0x48e43f
mov dword [ebp - 0x2c], 0
push 0
push 0
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x80]
add ecx, 0x2584
call fcn.00406010
xor edx, edx
cmp dword [ebp - 0x2c], 0xcb
setne dl
add edx, 1
mov dword [ebp - 0x28], edx
je 0x48e43f
cmp dword [ebp - 0x28], 1
jne 0x48e406
push 0
push 0
movzx eax, byte [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00479de0
mov dword [ebp - 0x30], eax
jmp 0x48e428
mov ecx, dword [ebp - 0x80]
add ecx, 0x2cac
call fcn.00406130
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
push ecx
movzx edx, byte [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.0047a2a0
mov eax, dword [ebp - 0x20]
imul eax, eax, 0x88
mov ecx, dword [ebp - 0x80]
mov dword [ecx + eax + 0x7aa0], 0
movzx edx, byte [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.00403e90
test eax, eax
je 0x48e53b
mov dword [ebp - 0x38], 0
mov ecx, dword [ebp - 0x80]
add ecx, 0x22d0
call fcn.00406070
test eax, eax
je 0x48e476
mov dword [ebp - 0x38], 1
jmp 0x48e4c9
mov ecx, dword [ebp - 0x80]
add ecx, 0x2368
call fcn.00406070
test eax, eax
je 0x48e491
mov dword [ebp - 0x38], 3
jmp 0x48e4c9
mov ecx, dword [ebp - 0x80]
add ecx, 0x2400
call fcn.00406070
test eax, eax
je 0x48e4ac
mov dword [ebp - 0x38], 2
jmp 0x48e4c9
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x68]
push ecx
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x78]
push eax
movzx ecx, byte [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0047ada0
lea edx, [ebp - 0x39]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.00476240
add esp, 8
test eax, eax
je 0x48e539
movzx ecx, byte [ebp - 0x39]
push ecx
movzx edx, byte [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.00405f60
mov byte [ebp - 0x3a], al
movzx eax, byte [ebp - 0x3a]
test eax, eax
je 0x48e539
mov ecx, dword [ebp - 0x80]
cmp dword [ecx + 0x2de4], 0
je 0x48e539
mov ecx, dword [ebp - 0x80]
add ecx, 0x2dc4
call fcn.00433cc6
test eax, eax
je 0x48e539
mov ecx, dword [ebp - 0x80]
add ecx, 0x2dc4
call fcn.00406130
push eax
movzx edx, byte [ebp - 0x3a]
push edx
movzx eax, byte [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00478750
jmp 0x48e5a0
movzx ecx, byte [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.00403e00
test eax, eax
je 0x48e56a
mov ecx, dword [ebp - 0x80]
add ecx, 0x2dc4
call fcn.00406130
push eax
movzx edx, byte [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.0047ba30
jmp 0x48e5a0
movzx eax, byte [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00405f90
test eax, eax
je 0x48e5a0
mov byte [ebp - 0x79], 0
mov ecx, dword [ebp - 0x80]
add ecx, 0x2dc4
call fcn.00406130
push eax
movzx ecx, byte [ebp - 0x79]
push ecx
movzx edx, byte [ebp - 0x20]
push edx
mov ecx, dword [ebp - 0x18]
call fcn.00478230
movzx eax, byte [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x18]
call fcn.00406c60
test eax, eax
je 0x48e5cd
mov ecx, dword [ebp - 0x80]
add ecx, 0x2edc
call fcn.00406130
push eax
movzx ecx, byte [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x18]
call fcn.0047bbd0
jmp 0x48e372
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x48e5eb
mov eax, dword [ebp - 0x80]
mov ecx, dword [eax + 0x7a64]
mov dword [ebp - 0x84], ecx
jmp 0x48e5f5
mov dword [ebp - 0x84], 0xffffffff
mov edx, dword [ebp - 0x84]
mov dword [0x4ec0c8], edx
mov eax, dword [ebp - 0x80]
mov dword [0x4ec0d0], eax
push 0
push 1
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x80]
call fcn.0048b510
push 0x4ec0cc
push 0
push 0x4ec0c8
push 0x48db10
push 0
push 0
call fcn.00453a7d
add esp, 0x18
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1c]
call fcn.00401620
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov esp, ebp
pop ebp
ret