Function at 0x2084186
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10021e86
mov eax, dword fs:[0]
push eax
sub esp, 0xa48
mov eax, dword [0x1002d020]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0xa54], eax
call fcn.02083fe6
push 0x10023520
push 0x10023440
push 0x1002e8c0
call fcn.02089a11
push 0x10023520
push 0x10023440
push 0x1002e678
mov dword [0x10031000], 0x7d0
call fcn.02089a11
add esp, 0x18
xor ebx, ebx
push 9
mov esi, 0xf
push 0x10023514
lea ecx, [ebp - 0xa48]
mov dword [0x10031004], 0x50
mov byte [ebp - 0xa49], bl
mov dword [ebp - 0xa34], esi
mov dword [ebp - 0xa38], ebx
mov byte [ebp - 0xa48], bl
call fcn.02081816
push 0xa
push 0x10023508
lea ecx, [ebp - 0xa2c]
mov dword [ebp - 4], ebx
mov dword [ebp - 0xa18], esi
mov dword [ebp - 0xa1c], ebx
mov byte [ebp - 0xa2c], bl
call fcn.02081816
mov eax, dword [ebp - 0xa48]
mov edi, 0x10
mov byte [ebp - 4], 1
cmp dword [ebp - 0xa34], edi
jae 0x2084276
lea eax, [ebp - 0xa48]
lea edx, [ebp - 0x210]
sub edx, eax
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x208427e
mov eax, dword [ebp - 0xa2c]
cmp dword [ebp - 0xa18], edi
jae 0x208429c
lea eax, [ebp - 0xa2c]
lea edx, [ebp - 0x110]
sub edx, eax
mov edi, edi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
cmp cl, bl
jne 0x20842a6
lea ecx, [ebp - 0x210]
push 0x10023504
push ecx
call fcn.0208a20e
lea edx, [ebp - 0x210]
push edx
mov esi, eax
push 0x1002f9e8
mov dword [ebp - 0xa50], esi
call fcn.02081916
push eax
call fcn.020829f6
add esp, 0x14
cmp esi, ebx
jne 0x2084329
lea eax, [ebp - 0x110]
push 0x10023504
push eax
mov byte [ebp - 0xa49], 1
call fcn.0208a20e
lea ecx, [ebp - 0x110]
push ecx
push 0x1002f9e8
mov esi, eax
mov dword [ebp - 0xa50], eax
call fcn.02081916
push eax
call fcn.020829f6
add esp, 0x14
cmp esi, ebx
je 0x2084613
mov esi, dword [ebp - 0xa50]
push esi
lea edx, [ebp - 0xa10]
push 0x3ff
push edx
call fcn.0208a01a
add esp, 0xc
test eax, eax
je 0x20844ff
jmp 0x2084356
cmp byte [ebp - 0xa10], 0x23
je 0x20844dc
lea eax, [ebp - 0x610]
push eax
lea ecx, [ebp - 0x410]
push ecx
lea edx, [ebp - 0xa10]
push 0x100234ec
push edx
call fcn.02089ff8
add esp, 0x10
cmp eax, 2
jne 0x20844dc
lea eax, [ebp - 0x410]
push eax
push 0x1002f9e8
call fcn.02081916
add esp, 8
mov esi, eax
push 0xa
mov ecx, esi
call fcn.02082026
mov ecx, dword [esi]
mov eax, dword [ecx + 4]
xor edi, edi
test byte [eax + esi + 0xc], 6
jne 0x20843d2
mov eax, dword [eax + esi + 0x38]
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0x34]
call eax
cmp eax, 0xffffffff
jne 0x20843d2
mov edi, 4
mov ecx, dword [esi]
mov ecx, dword [ecx + 4]
add ecx, esi
cmp edi, ebx
je 0x20843f1
mov eax, dword [ecx + 0xc]
or eax, edi
cmp dword [ecx + 0x38], ebx
jne 0x20843ea
or eax, 4
push ebx
push eax
call fcn.02080516
lea edx, [ebp - 0x410]
push 0x100234e0
push edx
call fcn.02089f43
add esp, 8
test eax, eax
jne 0x2084422
lea eax, [ebp - 0x610]
push eax
push 0x10023440
push 0x1002e8c0
call fcn.02089a11
add esp, 0xc
lea ecx, [ebp - 0x410]
push 0x100234d4
push ecx
call fcn.02089f43
add esp, 8
test eax, eax
jne 0x208444e
lea edx, [ebp - 0x610]
push edx
call fcn.02089db8
add esp, 4
mov dword [0x10031000], eax
lea eax, [ebp - 0x410]
push 0x100234c4
push eax
call fcn.02089f43
add esp, 8
test eax, eax
jne 0x208447f
lea ecx, [ebp - 0x610]
push ecx
push 0x10023440
push 0x1002e678
call fcn.02089a11
add esp, 0xc
lea edx, [ebp - 0x410]
push 0x100234b4
push edx
call fcn.02089f43
add esp, 8
test eax, eax
jne 0x20844ab
lea eax, [ebp - 0x610]
push eax
call fcn.02089db8
add esp, 4
mov dword [0x10031004], eax
lea ecx, [ebp - 0x410]
push 0x100234ac
push ecx
call fcn.02089f43
add esp, 8
test eax, eax
jne 0x20844d7
lea edx, [ebp - 0x610]
push edx
call fcn.02089db8
add esp, 4
mov dword [0x1002e8bc], eax
mov edi, 0x10
mov esi, dword [ebp - 0xa50]
push esi
lea eax, [ebp - 0xa10]
push 0x3ff
push eax
call fcn.0208a01a
add esp, 0xc
test eax, eax
jne 0x2084356
push esi
call fcn.02089d2e
add esp, 4
cmp byte [ebp - 0xa49], bl
je 0x2084519
lea ecx, [ebp - 0x110]
push ecx
jmp 0x2084520
lea edx, [ebp - 0x210]
push edx
call fcn.02089c91
add esp, 4
push 0x1002e8c0
push 0x1002f9e8
call fcn.02081916
push eax
call fcn.020829f6
mov eax, dword [0x10031000]
add esp, 0xc
push eax
mov ecx, 0x1002f9e8
call fcn.02081e36
push eax
call fcn.020829f6
add esp, 4
cmp dword [0x1002e8bc], 0xa3
je 0x20845d5
mov ecx, dword [ebp - 0xa54]
push ecx
call dword [0x10023018]
call fcn.02086c86
call dword [0x1002300c]
push eax
call fcn.020874e6
push 0x100020a0
push 0x1002c048
call fcn.020875a6
push 0x100021b0
push 0x1002c050
call fcn.020875a6
push 0x10004ce0
push 0x1002c04c
call fcn.020875a6
call fcn.02086ee6
push ebx
push ebx
push ebx
push 0x100048f0
push ebx
push ebx
call fcn.02089bf1
add esp, 0x18
push eax
call dword [0x10023014]
mov byte [0x1002ead4], 1
cmp dword [ebp - 0xa18], edi
jb 0x20845ec
mov edx, dword [ebp - 0xa2c]
push edx
call fcn.02088ffa
add esp, 4
mov dword [ebp - 0xa18], 0xf
mov dword [ebp - 0xa1c], ebx
mov byte [ebp - 0xa2c], bl
cmp dword [ebp - 0xa34], edi
jb 0x2084657
mov eax, dword [ebp - 0xa48]
push eax
jmp 0x208464f
cmp dword [ebp - 0xa18], edi
jb 0x208462a
mov ecx, dword [ebp - 0xa2c]
push ecx
call fcn.02088ffa
add esp, 4
mov dword [ebp - 0xa18], 0xf
mov dword [ebp - 0xa1c], ebx
mov byte [ebp - 0xa2c], bl
cmp dword [ebp - 0xa34], edi
jb 0x2084657
mov edx, dword [ebp - 0xa48]
push edx
call fcn.02088ffa
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.02088cf7
mov esp, ebp
pop ebp
ret