Function at 0x468ec0
Capabilities:
Suspend thread

Disassembly:
push ebp
mov ebp, esp
push ecx
mov ecx, 0x3e
push 0
push 0
dec ecx
jne 0x468ec9
xchg dword [ebp - 4], ecx
push ebx
push esi
push edi
mov esi, dword [ebp + 0x14]
lea edi, [ebp - 0x1d]
push ecx
mov ecx, 7
rep movsd dword es:[edi], dword [esi]
pop ecx
movsb byte es:[edi], byte [esi]
mov ebx, ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], eax
mov edi, dword [ebp + 0xc]
lea eax, [ebp - 0x1d]
mov edx, dword [0x449d60]
call fcn.00405668
xor eax, eax
push ebp
push 0x46a045
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0044f450
test al, al
je 0x468f40
cmp byte [0x4bc718], 0
je 0x468f40
cmp dword [0x4bc710], 0
jne 0x468f40
mov eax, dword [0x4b8bb0]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
jne 0x468f40
mov byte [ebp - 0xb5], 1
jmp 0x469fcc
mov byte [ebp - 0xb5], 0
call fcn.0040cbf4
fstp qword [0x4bc7d0]
wait
mov eax, dword [ebp - 0x28]
mov dword [0x4b745c], eax
mov eax, 0x4bc790
call fcn.004047c4
mov dword [0x4bc7d8], 1
xor edx, edx
push ebp
push 0x469fa7
push dword fs:[edx]
mov dword fs:[edx], esp
call fcn.00406c60
mov byte [eax + 0xe9], 1
mov ecx, dword [0x4bc688]
mov dl, 1
mov eax, dword [0x449c98]
call fcn.0046bfac
mov dword [ebp - 0x68], eax
xor edx, edx
push ebp
push 0x469f96
push dword fs:[edx]
mov dword fs:[edx], esp
cmp dword [ebp - 0x24], 0
je 0x468fba
mov eax, dword [ebp - 0x24]
mov dword [0x4bc748], eax
test bl, bl
je 0x468fcd
cmp dword [ebp - 0x24], 0
je 0x468fcd
mov eax, dword [ebp - 0x24]
sub eax, 5
mov dword [ebp - 0x24], eax
call fcn.00468b50
cmp edi, dword [0x4b9668]
je 0x468fe2
mov esi, dword [0x4b9668]
jmp 0x468fea
mov esi, dword [0x4b87dc]
mov esi, dword [esi]
mov eax, dword [ebp - 0x24]
mov dword [0x4bc96c], eax
mov eax, dword [ebp - 0x28]
mov dword [0x4bc968], eax
mov eax, dword [ebp - 0xc]
mov dword [0x4bc970], eax
mov cl, 1
mov edx, eax
mov eax, dword [0x4bc688]
call fcn.0046c3cc
xor ebx, ebx
cmp dword [ebp - 0x24], 0
je 0x46902c
mov dword [0x4bc7d8], 0x65
mov eax, dword [ebp - 0x24]
call fcn.0044dec8
mov ebx, eax
test ebx, ebx
je 0x469036
cmp dword [ebx + 0x27], 0
jne 0x46906a
mov dword [0x4bc7d8], 0x66
mov eax, edi
call fcn.0044de0c
mov ebx, eax
mov dword [0x4bc7d8], 0x67
test ebx, ebx
je 0x469061
cmp dword [ebx + 0x27], 0
jne 0x46906a
test esi, esi
je 0x46906a
mov eax, esi
call fcn.0044de0c
mov ebx, eax
mov edx, dword [ebx + 0x23]
mov eax, dword [0x4bc698]
mov ecx, dword [eax]
call dword [ecx + 0xc]
mov eax, dword [0x4bc698]
test byte [eax + 0x331], 8
je 0x4690af
test esi, esi
je 0x4690af
mov edi, ebx
mov eax, esi
call fcn.0044de0c
mov ebx, eax
test ebx, ebx
je 0x46909e
cmp dword [ebx + 0x27], 0
jne 0x4690a2
mov ebx, edi
jmp 0x4690af
mov edx, dword [ebx + 0x23]
mov eax, dword [0x4bc698]
mov ecx, dword [eax]
call dword [ecx + 0xc]
lea ecx, [ebp - 0x19c]
mov dl, 0x9a
mov eax, dword [0x4bc698]
call fcn.004236c8
mov edx, dword [ebp - 0x19c]
mov eax, 0x4b7464
call fcn.00404818
lea ecx, [ebp - 0x1a0]
mov dl, 0x9b
mov eax, dword [0x4bc698]
call fcn.004236c8
mov edx, dword [ebp - 0x1a0]
mov eax, 0x4b7468
call fcn.00404818
mov dword [0x4bc7d8], 0x68
call fcn.004228ac
test al, al
je 0x469147
mov eax, dword [0x4bc698]
mov dx, word [0x46a05c]
not edx
and dx, word [eax + 0x314]
mov eax, dword [0x4bc698]
call fcn.00425538
mov ecx, 0x46a068
mov dl, 0x1a
mov eax, dword [0x4bc698]
call fcn.00425148
mov ecx, 0x46a094
mov dl, 0x1b
mov eax, dword [0x4bc698]
call fcn.00425148
mov edx, dword [ebx + 4]
mov eax, dword [0x4bc698]
call fcn.004251d8
mov dword [0x4bc7d8], 2
xor eax, eax
call fcn.00455024
mov bl, 2
mov byte [ebp - 0xbd], 0
mov eax, dword [0x4bc698]
mov al, byte [eax + 0x6a]
mov byte [0x4bc928], al
mov byte [0x4bc929], 0
cmp byte [ebp + 8], 2
je 0x4692b9
mov eax, dword [0x4bc698]
cmp byte [eax + 0x2ed], 0
je 0x4692b9
push ebp
call fcn.00465304
pop ecx
mov dword [ebp - 0xbc], eax
mov dword [0x4bc7d8], 0xc9
cmp dword [ebp - 0xbc], 0xffffffff
je 0x4692b9
mov eax, dword [0x4bc698]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xbc]
call fcn.00423230
mov al, byte [eax + 0xc]
mov byte [ebp - 0xbd], al
mov eax, dword [0x4bc698]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xbc]
call fcn.00423230
mov bl, byte [eax + 0xb]
mov eax, dword [0x4bc698]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xbc]
call fcn.00423230
movzx eax, byte [eax + 0xa]
cmp eax, 4
ja case.default.0x469210
jmp dword [eax*4 + 0x469217]
mov byte [0x4bc928], 0
jmp case.default.0x469210
mov eax, dword [0x4bc698]
mov al, byte [eax + 0x6a]
mov byte [0x4bc928], al
jmp case.default.0x469210
mov byte [0x4bc928], 1
jmp case.default.0x469210
mov byte [0x4bc928], 2
jmp case.default.0x469210
mov byte [0x4bc928], 3
mov byte [0x4bc929], 1
mov eax, dword [0x4bc698]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xbc]
call fcn.00423230
mov eax, dword [eax + 5]
lea edx, [ebp - 0x1a4]
call fcn.00421e28
cmp dword [ebp - 0x1a4], 0
je 0x4692b9
mov eax, dword [0x4bc698]
mov eax, dword [eax + 0x6c]
mov edx, dword [ebp - 0xbc]
call fcn.00423230
mov eax, dword [eax + 5]
lea edx, [ebp - 0x1a8]
call fcn.00421e28
mov eax, dword [ebp - 0x1a8]
call fcn.00455024
call fcn.00468ab8
mov byte [ebp - 0xb6], al
mov dword [0x4bc7d8], 3
cmp bl, 2
jne 0x469f3c
cmp dword [ebp - 0x14], 0
jne 0x4692e5
call fcn.0044c194
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x10], 0
jne 0x4692f9
call fcn.00406c60
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x1c], 0
jne 0x46931b
call fcn.00406c60
cmp dword [eax + 0x1c], 0
je 0x46931b
call fcn.00406c60
lea eax, [eax + 0x1c]
mov dword [ebp - 0x1c], eax
mov edx, 0xcc
mov eax, dword [ebp - 0x1c]
call fcn.0042216c
test al, al
jne 0x469331
xor eax, eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0xc]
mov dword [0x4bc74c], eax
mov dword [0x4bc7d8], 4
cmp dword [0x4bc77c], 0
je 0x469364
mov edx, dword [ebp - 0x24]
add edx, 5
mov eax, dword [0x4bc77c]
call fcn.00453690
test al, al
jne 0x469790
cmp dword [0x4b7448], 0
je 0x469377
mov eax, dword [0x4b7448]
call fcn.00403908
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x4693a5
mov eax, dword [ebp - 0xc]
push eax
push 1
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov al, byte [0x46a0a4]
push eax
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 0x24]
call fcn.00454ee8
mov dword [0x4b7448], eax
jmp 0x4693aa
mov dword [0x4b7448], eax
push ebp
lea eax, [ebp - 0x1ac]
call fcn.00462d20
pop ecx
mov edx, dword [ebp - 0x1ac]
lea eax, [ebp - 0xc4]
call fcn.0040485c
mov eax, dword [0x4b7448]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x4694f0
inc eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xbc], 0
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x4b7448]
call fcn.0046be54
cmp byte [eax], 4
jne 0x4694de
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x4b7448]
call fcn.0046be54
mov ebx, dword [eax + 5]
xor edx, edx
mov eax, dword [0x4b7448]
call fcn.0046be54
cmp ebx, dword [eax + 5]
jne 0x4694de
push dword [ebp - 0xc4]
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x4b7448]
call fcn.0046be54
lea edx, [eax + 0x59]
lea eax, [ebp - 0x1b0]
call fcn.00404a38
push dword [ebp - 0x1b0]
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x4b7448]
call fcn.0046be54
lea edx, [eax + 0x9a]
lea eax, [ebp - 0x1b4]
call fcn.00404a38
push dword [ebp - 0x1b4]
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x4b7448]
call fcn.0046be54
lea edx, [eax + 0xdb]
lea eax, [ebp - 0x1b8]
call fcn.00404a38
push dword [ebp - 0x1b8]
mov edx, dword [ebp - 0xbc]
mov eax, dword [0x4b7448]
call fcn.0046be54
mov eax, dword [eax + 0x120]
xor edx, edx
push edx
push eax
lea eax, [ebp - 0x1bc]
call fcn.0040a9d0
push dword [ebp - 0x1bc]
lea eax, [ebp - 0xc4]
mov edx, 5
call fcn.00404b70
inc dword [ebp - 0xbc]
dec dword [ebp - 0xcc]
jne 0x4693ea
mov eax, dword [ebp - 0xc4]
call fcn.00434774
movzx eax, ax
lea ecx, [ebp - 0x1c0]
mov edx, 4
call fcn.0040a9f8
mov edx, dword [ebp - 0x1c0]
lea eax, [ebp - 0xc4]
call fcn.0040485c
mov eax, 0x4bc924
mov edx, dword [ebp - 0xc4]
call fcn.00404818
push ebp
call fcn.00468af8
pop ecx
test al, al
je 0x46953f
call fcn.00454f98
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x68]
call fcn.0046c1f4
mov dword [ebp - 0xbc], eax
cmp dword [ebp - 0xbc], 0xffffffff
je 0x46956c
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
call fcn.00468bf0
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x469618
inc eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xbc], 0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x469606
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
call fcn.00468c64
test al, al
je 0x469606
mov eax, dword [0x4bc688]
call fcn.0046c250
xor eax, eax
push ebp
push 0x4695ff
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_SuspendThread
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469606
mov eax, dword [0x4bc688]
call fcn.0046c25c
ret
inc dword [ebp - 0xbc]
dec dword [ebp - 0xcc]
jne 0x46958c
xor eax, eax
push ebp
push 0x469789
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x46970e
inc eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xbc], 0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x4696fc
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
call fcn.00468c64
test al, al
je 0x4696fc
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov ebx, eax
lea eax, [ebp - 0x198]
xor ecx, ecx
mov edx, 0xcc
call fcn.004031a0
mov dword [ebp - 0x198], 0x10007
lea eax, [ebp - 0x198]
push eax
mov eax, dword [ebx + 4]
push eax
call sub.kernel32.dll_GetThreadContext
test eax, eax
je 0x4696fc
cmp dword [ebp - 0xe0], 0
je 0x4696fc
cmp dword [ebp - 0xd4], 0
je 0x4696fc
mov eax, dword [ebx + 0x14]
push eax
mov eax, dword [ebx]
push eax
push 1
push 1
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov al, byte [0x46a0a4]
push eax
mov ecx, dword [ebp - 0xd4]
xor edx, edx
mov eax, dword [0x4b7448]
call fcn.00454c28
mov eax, ebx
call fcn.00468bf0
inc dword [ebp - 0xbc]
dec dword [ebp - 0xcc]
jne 0x469646
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469790
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x469788
inc eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xbc], 0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x46977a
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
call fcn.00468c64
test al, al
je 0x46977a
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax + 4]
push eax
call fcn.004071bc
inc dword [ebp - 0xbc]
dec dword [ebp - 0xcc]
jne 0x469737
ret
mov dword [0x4bc7d8], 5
cmp byte [ebp + 8], 2
je 0x469f25
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x469869
inc eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xbc], 0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov ebx, dword [eax]
call sub.kernel32.dll_GetCurrentThreadId_1
cmp ebx, eax
je 0x469857
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x469857
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
call fcn.00468ca4
test al, al
je 0x469857
mov eax, dword [0x4bc688]
call fcn.0046c250
xor eax, eax
push ebp
push 0x469850
push dword fs:[eax]
mov dword fs:[eax], esp
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax + 4]
push eax
call sub.kernel32.dll_SuspendThread
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469857
mov eax, dword [0x4bc688]
call fcn.0046c25c
ret
inc dword [ebp - 0xbc]
dec dword [ebp - 0xcc]
jne 0x4697c4
xor edx, edx
push ebp
push 0x469ec3
push dword fs:[edx]
mov dword fs:[edx], esp
mov dword [0x4bc7d8], 6
mov byte [0x4bc949], 1
mov eax, dword [0x4bc698]
test byte [eax + 0x2f0], 0x10
je 0x4698a0
call fcn.0044eb10
call fcn.0044f034
mov dword [0x4bc7d8], 7
mov eax, dword [0x4b7448]
mov dword [0x4bc97c], eax
mov eax, dword [0x4bc698]
mov dword [0x4bc980], eax
mov dword [0x4bc7d8], 0x2be
push ebp
call fcn.0046662c
pop ecx
mov eax, 0x4bc974
mov edx, dword [0x4bc764]
call fcn.00404818
mov dword [0x4bc7d8], 0x2bf
mov eax, dword [0x4b7440]
mov dword [0x4bc978], eax
mov dword [0x4bc7d8], 0x2c0
mov dword [0x4bc760], 0x4bc968
mov al, 1
call fcn.00451974
mov dword [0x4bc7d8], 0x2c1
call fcn.0044d8d4
mov dword [0x4bc7d8], 0x2c2
push ebp
call fcn.00468cfc
pop ecx
call fcn.0044f214
test al, al
je 0x469963
lea eax, [ebp - 0x1c8]
call fcn.00451f28
mov eax, dword [ebp - 0x1c8]
lea edx, [ebp - 0x1c4]
call fcn.00452244
mov edx, dword [ebp - 0x1c4]
mov eax, 0x4bc700
call fcn.00404818
mov eax, 0x4bd020
mov edx, dword [0x4bc700]
call fcn.00404818
cmp byte [ebp - 0x1d], 0
jne 0x469985
mov eax, 0x4524e4
call fcn.004535e4
jmp 0x46998f
mov eax, 0x4525c4
call fcn.004535e4
call fcn.0045dda0
mov dword [0x4bc7d8], 8
cmp byte [0x4bc949], 0
je 0x469e28
mov eax, dword [0x4bc698]
cmp byte [eax + 0x324], 0
je 0x469a04
call fcn.0040cbf4
add esp, 0xfffffff8
fstp qword [esp]
wait
lea eax, [ebp - 0x1cc]
call fcn.0040d82c
mov edx, dword [ebp - 0x1cc]
mov eax, dword [0x4bc7cc]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [0x4bc7cc]
mov edx, dword [eax]
call dword [edx + 0x14]
mov edx, dword [0x4bc698]
cmp eax, dword [edx + 0x328]
jle 0x469a04
xor edx, edx
mov eax, dword [0x4bc7cc]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov eax, dword [0x4bc99c]
mov edx, dword [eax]
call dword [edx + 0x44]
mov eax, 0x452a14
call fcn.004535e4
mov eax, dword [0x4bc99c]
mov edx, dword [eax]
call dword [edx + 0x14]
test eax, eax
je 0x469a59
mov eax, dword [0x4bc698]
test byte [eax + 0x69], 0x80
je 0x469a59
lea ecx, [ebp - 0x1d0]
mov dl, 0x5b
mov eax, dword [0x4bc698]
call fcn.004236c8
mov edx, dword [ebp - 0x1d0]
mov ecx, dword [0x4bc99c]
mov eax, 7
call fcn.00455a60
mov dword [0x4bc7d8], 9
inc dword [0x4bc6a4]
mov dword [0x4bc7d8], 0xa
push ebp
lea eax, [ebp - 0x1d8]
call fcn.00463068
pop ecx
mov eax, dword [ebp - 0x1d8]
lea edx, [ebp - 0x1d4]
call fcn.004626c0
mov edx, dword [ebp - 0x1d4]
mov eax, 0x4bc758
call fcn.00404818
mov byte [ebp - 0xb7], 0
mov dword [0x4bc7d8], 0xb
cmp byte [0x4bc929], 0
jne 0x469ac8
mov eax, dword [0x4bc698]
mov al, byte [eax + 0x6a]
mov byte [0x4bc928], al
cmp byte [0x4bc928], 0
je 0x469c72
mov dword [0x4bc7d8], 0xc
mov byte [0x4bc948], 1
call fcn.0044d8d4
mov eax, 0x465358
call fcn.004535e4
mov eax, dword [0x4bc698]
cmp byte [eax + 0x30c], 0
jne 0x469b15
mov eax, dword [0x4bc698]
cmp byte [eax + 0x30d], 0
jne 0x469b15
xor eax, eax
jmp 0x469b17
mov al, 1
mov byte [0x4bc770], al
mov eax, dword [0x4bc698]
test byte [eax + 0x2f1], 0x10
setne al
mov byte [0x4bc771], al
cmp byte [0x4bc948], 0
je 0x469cce
mov dword [0x4bc7d8], 0xd
mov al, byte [ebp + 0x10]
call fcn.00468ba8
sub al, 1
jb 0x469be1
je 0x469b72
dec al
jne 0x469c5c
push ebp
mov eax, dword [0x4bc764]
call fcn.00468918
pop ecx
jmp 0x469c5c
xor eax, eax
push ebp
push 0x469bc2
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x1dc]
mov ecx, dword [0x4bc764]
mov edx, dword [ebp - 0x34]
call fcn.00404afc
mov edx, dword [ebp - 0x1dc]
mov eax, dword [0x4b8798]
call fcn.00404ea0
call fcn.004033c4
call fcn.004028cc
mov byte [0x4bc948], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x469c5c
xor edx, edx
push ebp
push 0x469c3f
push dword fs:[edx]
mov dword fs:[edx], esp
cmp byte [0x4bc928], 3
sete byte [ebp - 0xb7]
mov byte [0x4bcbf5], 0
cmp byte [0x4bc928], 0
setne al
call fcn.0045ccf8
xor eax, eax
cmp byte [0x4bc928], 0
je 0x469c25
mov byte [0x4bcbf5], 1
cmp byte [0x4bc928], 0
jne 0x469c0e
mov byte [0x4bc948], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x469c5c
mov dword [0x4bc7d8], 0xe
mov eax, 0x46537c
call fcn.004535e4
jmp 0x469cce
mov eax, dword [0x4bc698]
cmp byte [eax + 0x30c], 0
jne 0x469c92
mov eax, dword [0x4bc698]
cmp byte [eax + 0x30d], 0
jne 0x469c92
xor eax, eax
jmp 0x469c94
mov al, 1
mov byte [0x4bc770], al
mov eax, dword [0x4bc698]
test byte [eax + 0x2f1], 0x10
setne al
mov byte [0x4bc771], al
call fcn.0044f45c
test al, al
je 0x469cce
push ebp
lea eax, [ebp - 0x1e0]
call fcn.00455038
mov eax, dword [ebp - 0x1e0]
call fcn.00468918
pop ecx
cmp byte [ebp - 0xb7], 0
je 0x469cdc
call fcn.004561d4
call fcn.00468ab8
test al, al
je 0x469cfb
lea eax, [ebp - 0x1e4]
call fcn.00451d00
mov eax, dword [ebp - 0x1e4]
call fcn.0045e4a4
call fcn.0045e534
mov dword [0x4bc7d8], 0xf
mov eax, dword [0x4bc698]
test byte [eax + 0x2f0], 4
je 0x469dc1
call fcn.0045188c
xor eax, eax
push ebp
push 0x469d65
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0xc8]
push eax
mov eax, dword [0x4bc9ac]
call fcn.0043ddbc
mov ecx, eax
dec ecx
mov edx, 0x46a0cc
mov eax, dword [0x4bc9ac]
call fcn.0043db54
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469d6c
call fcn.00451958
ret
call fcn.00468ab8
mov byte [ebp - 0xb6], al
mov eax, dword [0x4bc698]
cmp byte [eax + 0x2ef], 0
je 0x469ddf
call fcn.00465104
cmp byte [0x4bc772], 0
je 0x469df2
mov eax, dword [0x4bc764]
call fcn.0044dc14
mov dword [0x4bc7d8], 0x10
cmp byte [ebp - 0xb6], 0
je 0x469e0a
call fcn.00461a40
cmp byte [ebp - 0xb6], 0
je 0x469e21
mov eax, dword [0x4bc698]
test byte [eax + 0x2f1], 0x80
jne 0x469e2f
call fcn.00461a94
jmp 0x469e2f
mov byte [ebp - 0xb5], 1
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469ecd
mov eax, dword [ebp - 0x68]
mov eax, dword [eax + 8]
dec eax
test eax, eax
jl 0x469ec2
inc eax
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xbc], 0
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov ebx, dword [eax]
call sub.kernel32.dll_GetCurrentThreadId_1
cmp ebx, eax
je 0x469eb4
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax]
cmp eax, dword [ebp - 0xc]
je 0x469eb4
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
call fcn.00468ca4
test al, al
je 0x469eb4
mov edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0x68]
call fcn.0046c224
mov eax, dword [eax + 4]
push eax
call fcn.004071bc
inc dword [ebp - 0xbc]
dec dword [ebp - 0xcc]
jne 0x469e58
ret
mov eax, dword [0x4bc698]
test byte [eax + 0x331], 0x80
je 0x469f48
mov byte [ebp - 0xb5], 1
jmp 0x469f48
cmp bl, 1
jne 0x469f48
mov byte [ebp - 0xb5], 1
mov dword [0x4bc7d8], 0x12
cmp byte [ebp + 8], 2
je 0x469f74
cmp byte [ebp - 0xb6], 0
je 0x469f6f
mov eax, dword [0x4bc698]
test byte [eax + 0x2f1], 0x80
jne 0x469f74
call fcn.00461ba4
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x469f9d
mov eax, dword [ebp - 0x68]
call fcn.00403908
call fcn.00406c60
mov byte [eax + 0xe9], 0
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x46a04c
lea eax, [ebp - 0x1f4]
mov edx, 0x17
call fcn.004047e8
lea eax, [ebp - 0xc8]
mov edx, 2
call fcn.004047e8
lea eax, [ebp - 0xb4]
call fcn.004047c4
lea eax, [ebp - 0x74]
call fcn.004047c4
lea eax, [ebp - 0x64]
call fcn.004047c4
lea eax, [ebp - 0x5c]
mov edx, 3
call fcn.004047e8
lea eax, [ebp - 0x38]
mov edx, 2
call fcn.004047e8
lea eax, [ebp - 0x2c]
call fcn.004047c4
lea eax, [ebp - 0x1d]
mov edx, dword [0x449d60]
call fcn.00405524
ret