Function at 0x1f01a290
Capabilities:
Check for time delay via queryperformancecounter
Create thread
Get thread local storage value
Set thread local storage value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x810
push esi
push edi
mov eax, dword fs:[0]
mov dword [ebp - 0x20], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x14]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0xbc], 1
mov ecx, dword [ebp + 8]
add ecx, 0xa8
mov edx, 1
lock xadd dword [ecx], edx
lea eax, [ebp - 0xb8]
push eax
call fcn.1f01da80
add esp, 4
call fcn.1f00104b
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1f0837c0]
mov dword [ebp - 0x75c], ecx
cmp dword [ebp - 0x75c], 0x40
jae 0x1f01a30e
mov edx, dword [ebp - 0x75c]
push edx
call section..text
mov dword [ebp - 0x24], eax
jmp 0x1f01a31e
mov eax, dword [ebp - 0x75c]
push eax
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1b30], 0
jne 0x1f01a33d
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1b2c], 0
je 0x1f01a344
mov dword [ebp - 0x14], 1
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x1f01a35d
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x9c], 0
je 0x1f01a4fb
mov dword [ebp - 0x1c], 0
mov edx, dword [0x1f0837c4]
mov dword [ebp - 0x760], edx
cmp dword [ebp - 0x760], 0x40
jae 0x1f01a38d
mov eax, dword [ebp - 0x760]
push eax
call section..text
mov dword [ebp - 0x764], eax
jmp 0x1f01a3a0
mov ecx, dword [ebp - 0x760]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x764], eax
cmp dword [ebp - 0x764], 0
jbe 0x1f01a3b2
mov dword [ebp - 0x14], 1
jmp 0x1f01a3ea
cmp dword [ebp - 0x24], 0
je 0x1f01a3d2
mov edx, dword [ebp - 0x24]
cmp dword [edx], 0
jne 0x1f01a3c9
mov eax, dword [ebp - 0x24]
cmp dword [eax + 0x1c], 0
jne 0x1f01a3d0
mov dword [ebp - 0x14], 1
jmp 0x1f01a3ea
call fcn.1f0141f0
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x1c], 0
jne 0x1f01a3ea
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], 0
jne 0x1f01a467
mov edx, dword [ebp + 8]
cmp dword [edx + 0x90], 0
je 0x1f01a467
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa8], 1
jle 0x1f01a467
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x7b4]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x7b4]
mov ecx, dword [eax + edx + 0x10]
mov dword [ebp - 0x30], ecx
jmp 0x1f01a437
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 8]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x1f01a467
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x38]
cmp ecx, dword [ebp + 8]
jne 0x1f01a465
mov edx, dword [ebp - 4]
cmp dword [edx + 0x1b1c], 0
je 0x1f01a465
mov dword [ebp - 0x14], 1
jmp 0x1f01a467
jmp 0x1f01a42e
cmp dword [ebp - 0x14], 0
je 0x1f01a4dd
mov eax, dword [ebp + 8]
cmp dword [eax + 0x9c], 0
je 0x1f01a484
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x14]
mov dword [ebp - 0x48], edx
jmp 0x1f01a48d
mov eax, dword [ebp + 8]
add eax, 0x24
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
add ecx, 0xa8
or edx, 0xffffffff
lock xadd dword [ecx], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa8], 0
jge 0x1f01a4b6
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xa8], 0
mov edx, dword [ebp - 0x3c]
push edx
call fcn.1f001055
lea eax, [ebp - 0xb8]
push eax
call fcn.1f01dab0
add esp, 4
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x48]
mov dword [ecx], edx
xor eax, eax
jmp 0x1f01ba5a
mov eax, dword [ebp - 0x24]
mov dword [eax], 1
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xac]
push edx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
jmp 0x1f01a716
mov eax, dword [ebp + 8]
mov dword [eax + 0xa0], 1
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xb4]
push edx
mov eax, dword [ebp + 8]
add eax, 0x14
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xb0]
push edx
call fcn.1f03f910
add esp, 0xc
mov eax, dword [0x1f0837c4]
mov dword [ebp - 0x768], eax
cmp dword [ebp - 0x768], 0x40
jae 0x1f01a554
mov ecx, dword [ebp - 0x768]
push ecx
call section..text
mov dword [ebp - 0x76c], eax
jmp 0x1f01a567
mov edx, dword [ebp - 0x768]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x76c], eax
cmp dword [ebp - 0x76c], 0
jbe 0x1f01a579
mov dword [ebp - 0x14], 1
jmp 0x1f01a5b1
cmp dword [ebp - 0x24], 0
je 0x1f01a599
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
jne 0x1f01a590
mov ecx, dword [ebp - 0x24]
cmp dword [ecx + 0x1c], 0
jne 0x1f01a597
mov dword [ebp - 0x14], 1
jmp 0x1f01a5b1
call fcn.1f0141f0
mov dword [ebp - 0x24], eax
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x1c], 0
jne 0x1f01a5b1
mov dword [ebp - 0x14], 1
cmp dword [ebp - 0x14], 0
je 0x1f01a6db
cmp dword [ebp - 0x24], 0
jne 0x1f01a62a
call fcn.1f0144f0
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
je 0x1f01a5f7
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp + 8]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x1f01dac0
jmp 0x1f01a628
mov edx, dword [ebp + 0xc]
mov eax, dword [ebp - 0x44]
mov dword [edx], eax
mov ecx, dword [ebp + 8]
add ecx, 0xa8
or edx, 0xffffffff
lock xadd dword [ecx], edx
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa8], 0
jge 0x1f01a628
mov ecx, dword [ebp + 8]
mov dword [ecx + 0xa8], 0
jmp 0x1f01a6a8
mov edx, dword [ebp - 0x24]
cmp dword [edx + 0x70], 0xa
jne 0x1f01a666
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp + 8]
add edx, 0xa8
or eax, 0xffffffff
lock xadd dword [edx], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa8], 0
jge 0x1f01a664
mov edx, dword [ebp + 8]
mov dword [edx + 0xa8], 0
jmp 0x1f01a6a8
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x70]
mov edx, dword [ebp - 0x24]
lea eax, [edx + ecx*8 + 0x20]
mov dword [ebp - 0xd4], eax
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp + 8]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 0x70]
add eax, 1
mov ecx, dword [ebp - 0x24]
mov dword [ecx + 0x70], eax
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x1f01daf0
mov eax, dword [ebp - 0x3c]
push eax
call fcn.1f001055
lea ecx, [ebp - 0xb8]
push ecx
call fcn.1f01dab0
add esp, 4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x8c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0x48]
mov dword [ecx], edx
xor eax, eax
jmp 0x1f01ba5a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xac]
push ecx
call dword [sym.imp.KERNEL32.dll_ResetEvent]
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0xc8]
push edx
call dword [sym.imp.KERNEL32.dll_GetThreadPriority]
mov dword [ebp - 0x1c], eax
push 0xf
mov eax, dword [ebp - 0xc8]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1b0c], 0
je 0x1f01a740
cmp dword [0x1f06c378], 0
jne 0x1f01a734
cmp dword [0x1f083738], 0
je 0x1f01a740
mov dword [ebp - 0x7b8], 1
jmp 0x1f01a74a
mov dword [ebp - 0x7b8], 0
mov edx, dword [ebp - 0x7b8]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x28]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x28]
push eax
mov ecx, dword [ebp - 0x20]
push ecx
push 1
call fcn.1f0193b0
add esp, 0xc
mov edx, dword [0x1f0837c4]
mov dword [ebp - 0x770], edx
cmp dword [ebp - 0x770], 0x40
jae 0x1f01a79a
mov eax, dword [ebp - 0x770]
push eax
call section..text
mov dword [ebp - 0x774], eax
jmp 0x1f01a7ad
mov ecx, dword [ebp - 0x770]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x774], eax
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
add eax, 1
mov dword [ebp - 0x77c], eax
mov ecx, dword [0x1f0837c4]
mov dword [ebp - 0x778], ecx
cmp dword [ebp - 0x778], 0x40
jae 0x1f01a7ec
mov edx, dword [ebp - 0x77c]
push edx
mov eax, dword [ebp - 0x778]
push eax
call fcn.1f001021
jmp 0x1f01a800
mov ecx, dword [ebp - 0x77c]
push ecx
mov edx, dword [ebp - 0x778]
push edx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 4]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 8]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 8]
cmp dword [edx + ecx + 0x10], 0
je 0x1f01a86f
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax + edx + 0x10]
mov edx, dword [ecx]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1d28], 0
jne 0x1f01a83d
jmp 0x1f01a86f
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + eax + 0x10]
push edx
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
mov eax, dword [ebp - 8]
add eax, dword [ecx + 4]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx + edx]
mov ecx, eax
mov eax, dword [edx + 0x20]
call eax
jmp 0x1f01a809
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 8]
mov edx, dword [ecx]
mov ecx, dword [ebp - 8]
add ecx, dword [edx + 4]
mov edx, dword [ebp - 8]
mov eax, dword [edx + eax]
mov edx, dword [eax + 4]
call edx
mov dword [ebp - 0x30], eax
mov eax, dword [0x1f0837c4]
mov dword [ebp - 0x780], eax
cmp dword [ebp - 0x780], 0x40
jae 0x1f01a8b6
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x780]
push edx
call fcn.1f001021
jmp 0x1f01a8c7
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x780]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, dword [ebp - 0x30]
mov eax, dword [edx]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp + 8]
mov dword [ecx + 0x38], edx
mov ecx, 0xc
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp - 4]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x44]
mov dword [eax + 0x34], ecx
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 0xc]
mov dword [edx + 0x30], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
mov dword [ecx + 0xa4], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x20]
mov dword [eax + 0x3c], ecx
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0xc], edx
cmp dword [ebp - 0x18], 0
je 0x1f01a9e2
mov eax, dword [ebp - 4]
add eax, 0x60
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x60]
mov dword [ebp - 0xe0], edx
mov eax, dword [ecx + 0x64]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xe0]
sub ecx, dword [0x1f082a00]
mov edx, dword [ebp - 0xdc]
sbb edx, dword [0x1f082a04]
push 0
push 0x3e8
push edx
push ecx
call fcn.1f040a80
push 0
push 0x3e8
push edx
push eax
call fcn.1f040a80
push 0
push 0xa
push edx
push eax
call fcn.1f040a80
mov ecx, dword [0x1f0829fc]
push ecx
mov ecx, dword [0x1f0829f8]
push ecx
push edx
push eax
call fcn.1f0409d0
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], edx
mov edx, dword [ebp - 0xe0]
add edx, dword [0x1f0834b0]
mov eax, dword [ebp - 0xdc]
adc eax, dword [0x1f0834b4]
mov dword [ebp - 0xe0], edx
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0xdc]
mov dword [ecx + 0x1a5c], edx
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0xe0]
mov dword [eax + 0x1a58], ecx
mov edx, dword [ebp - 0x44]
push edx
call dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
test eax, eax
je 0x1f01aa76
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1b74], 0
jne 0x1f01aa76
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + 0x1b04]
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x38]
mov eax, dword [edx + 0x1b08]
push eax
push str.Invalid_return_address_for__s_in__s__you_should_use_DontHookReturnAddress_option_for_this_hook_:_this_is_not_a_function_start
push 0x30c
lea ecx, [ebp - 0x6f8]
push ecx
call fcn.1f03ea51
add esp, 0x14
lea edx, [ebp - 0x6f8]
push edx
push 2
call fcn.1f029250
mov eax, dword [ebp + 8]
mov dword [eax + 0x1b74], 1
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xb6]
cmp edx, 4
je 0x1f01aa76
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xb6]
cmp ecx, 3
je 0x1f01aa76
mov edx, dword [ebp + 8]
mov byte [edx + 0xb6], 3
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1b74], 0
jne 0x1f01aaa7
mov ecx, dword [ebp - 4]
add ecx, 0x44
push ecx
mov edx, dword [ebp - 4]
add edx, 0x40
push edx
call fcn.1f01a0e0
add esp, 8
neg eax
sbb eax, eax
add eax, 1
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x48], eax
jmp 0x1f01aab1
mov edx, dword [ebp - 4]
mov dword [edx + 0x48], 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x50], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1b10], 0
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b14], 0
mov eax, dword [ebp - 4]
mov dword [eax + 0x1b18], 0
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x24]
mov eax, dword [edx + 4]
push eax
call fcn.1f013f00
add esp, 8
mov dword [ebp - 0xc0], eax
mov dword [ebp - 0x28], 0
cmp dword [ebp - 0x18], 0
jne 0x1f01ab39
cmp dword [0x1f06c37c], 0
je 0x1f01ab1d
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x90], 0
jne 0x1f01ab39
mov edx, dword [ebp + 8]
cmp dword [edx + 0x94], 0
jne 0x1f01ab39
mov eax, dword [ebp + 8]
cmp dword [eax + 0x98], 0
je 0x1f01acc5
mov dword [ebp - 0xcc], 0
cmp dword [0x1f06c380], 0
je 0x1f01ab6a
cmp dword [0x1f06c384], 0
je 0x1f01ab6a
cmp dword [0x1f083738], 0
jne 0x1f01ab6a
mov dword [ebp - 0x7bc], 0
jmp 0x1f01ab74
mov dword [ebp - 0x7bc], 1
push 0
mov ecx, dword [ebp - 0x7bc]
push ecx
push 1
lea edx, [ebp - 0xcc]
push edx
mov eax, dword [ebp - 4]
add eax, 0x70
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x1b20
push ecx
mov edx, dword [ebp - 4]
add edx, 0x5c
push edx
mov eax, dword [ebp - 0xc0]
push eax
mov ecx, dword [0x1f083714]
call fcn.1f026d40
test eax, eax
je 0x1f01abd5
mov ecx, dword [ebp - 0xc0]
push ecx
push 0
call fcn.1f029e90
add esp, 8
mov edx, dword [ebp - 4]
mov ecx, dword [edx + 0x70]
sub ecx, eax
mov edx, dword [ebp - 4]
mov dword [edx + 0x70], ecx
jmp 0x1f01ac05
mov eax, dword [ebp - 4]
mov dword [eax + 0x1b18], 0
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1b14], 1
xor edx, edx
mov eax, dword [ebp - 4]
mov word [eax + 0x1b20], dx
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x70], 0
cmp dword [0x1f083738], 0
je 0x1f01ac18
mov dword [ebp - 0xcc], 1
cmp dword [0x1f06c380], 0
je 0x1f01ac66
cmp dword [ebp - 0xcc], 0
jne 0x1f01ac4b
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1b14], 0
jne 0x1f01ac4b
cmp dword [0x1f083738], 0
jne 0x1f01ac4b
mov dword [ebp - 0x7c0], 0
jmp 0x1f01ac55
mov dword [ebp - 0x7c0], 1
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x7c0]
mov dword [eax + 0x1b14], ecx
jmp 0x1f01ac73
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b14], 1
cmp dword [0x1f06c384], 0
je 0x1f01acb8
cmp dword [ebp - 0xcc], 0
jne 0x1f01ac9d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1b18], 0
jne 0x1f01ac9d
mov dword [ebp - 0x7c4], 0
jmp 0x1f01aca7
mov dword [ebp - 0x7c4], 1
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x7c4]
mov dword [ecx + 0x1b18], edx
jmp 0x1f01acc5
mov eax, dword [ebp - 4]
mov dword [eax + 0x1b18], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x94], 0
je 0x1f01ae12
mov edx, dword [ebp + 0x10]
mov eax, dword [edx + 0x2c]
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x1b18]
mov dword [ebp - 0x708], edx
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x710], eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x5c]
mov dword [ebp - 0x70c], edx
mov dword [ebp - 0x704], esp
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
mov dword [ebp - 0x7c8], ecx
push 0
push 1
mov edx, dword [ebp - 0x7c8]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7c8]
add ecx, dword [eax + 4]
call fcn.1f02db10
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
mov dword [ebp - 0x7cc], edx
mov eax, dword [ebp - 0x7cc]
mov ecx, dword [eax]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x7cc]
mov ecx, dword [eax + edx + 0x24]
mov dword [ebp - 0x30], ecx
jmp 0x1f01ad69
mov edx, dword [ebp - 0x30]
mov eax, dword [edx + 4]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0
je 0x1f01aded
mov ecx, dword [ebp - 0x30]
mov edx, dword [ecx]
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x700]
mov ecx, dword [eax]
push ecx
call dword [sym.imp.KERNEL32.dll_IsBadCodePtr]
test eax, eax
je 0x1f01ad8f
jmp 0x1f01ad60
mov edx, dword [ebp - 0x700]
mov eax, dword [edx + 4]
push eax
lea ecx, [ebp - 0x714]
push ecx
mov edx, dword [ebp + 0x10]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x700]
mov edx, dword [ecx]
call edx
mov dword [ebp - 0x6fc], eax
cmp esp, dword [ebp - 0x704]
je 0x1f01addd
mov esp, dword [ebp - 0x704]
push 1
mov eax, dword [ebp - 0x700]
mov ecx, dword [eax]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.1f017580
add esp, 0xc
cmp dword [ebp - 0x6fc], 0
jne 0x1f01ade8
jmp 0x1f01aded
jmp 0x1f01ad60
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x94]
mov dword [ebp - 0x7d0], ecx
mov edx, dword [ebp - 0x7d0]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x7d0]
add ecx, dword [eax + 4]
call fcn.1f02db80
cmp dword [ebp - 0x18], 0
je 0x1f01b216
mov ecx, dword [0x1f06c374]
push ecx
lea edx, [ebp - 0x744]
push edx
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x28]
push ecx
call fcn.1f007e30
add esp, 0xc
test eax, eax
je 0x1f01aee6
mov eax, dword [ebp - 0x728]
imul eax, eax, 0x64
xor edx, edx
div dword [ebp - 0x72c]
mov byte [ebp - 0x745], al
movzx edx, byte [ebp - 0x745]
cmp edx, 0x50
jg 0x1f01ae70
cmp dword [ebp - 0x720], 0x8000
jge 0x1f01aee6
push 0x400
push 0
mov eax, dword [0x1f0837bc]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1b08]
push edx
mov eax, dword [ebp - 0x720]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
movzx ecx, byte [ebp - 0x745]
push ecx
push str.Warning__u___of_stack_of_thread_0x_X_used__only__u_bytes_left_at_begin_of_function__s
push 0x200
mov edx, dword [ebp - 0x74c]
push edx
call fcn.1f03ea51
add esp, 0x1c
mov eax, dword [ebp - 0x74c]
push eax
push 2
call fcn.1f029250
mov ecx, dword [ebp - 0x74c]
push ecx
push 0
mov edx, dword [0x1f0837bc]
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edi, dword [ebp - 4]
add edi, 0x74
mov ecx, 0xc
mov esi, dword [ebp + 0x10]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x3c]
mov dword [eax + 0x1a54], ecx
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xb6]
cmp eax, 3
je 0x1f01af2c
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xb6]
cmp edx, 2
je 0x1f01af2c
mov dword [ebp - 0x7d4], 0
jmp 0x1f01af36
mov dword [ebp - 0x7d4], 1
mov eax, dword [ebp - 0x7d4]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xb6]
neg edx
sbb edx, edx
add edx, 1
mov eax, dword [ebp - 4]
mov dword [eax + 0x1b10], edx
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1b0c], 0
je 0x1f01b203
mov edx, dword [ebp - 4]
cmp dword [edx + 0x1b10], 0
jne 0x1f01afb3
cmp dword [ebp - 0x40], 0
jne 0x1f01afb3
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1b20]
and ecx, 1
mov edx, dword [eax + 0x1b24]
and edx, 0
mov dword [ebp - 0x7dc], ecx
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7dc]
or eax, dword [ebp - 0x7d8]
jne 0x1f01afb3
cmp dword [0x1f06c38c], 0
je 0x1f01afbf
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x1b14], 0
jne 0x1f01afcc
cmp dword [0x1f083738], 0
je 0x1f01b203
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xb5]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0xac], eax
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 4]
add eax, 0xa8
push eax
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
call fcn.1f0188e0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1b20]
and edx, 1
mov eax, dword [ecx + 0x1b24]
and eax, 0
mov dword [ebp - 0x7e4], edx
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x7e4]
or ecx, dword [ebp - 0x7e0]
je 0x1f01b11e
mov edx, dword [ebp - 4]
cmp dword [edx + 0x1b14], 0
je 0x1f01b11e
mov edx, dword [ebp - 4]
add edx, 0xa8
mov ecx, dword [ebp + 8]
call fcn.1f018e00
test eax, eax
je 0x1f01b11e
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1b20]
mov edx, dword [ecx + 0x1b24]
mov cl, 2
call fcn.1f040ac0
and eax, 1
and edx, 0
mov dword [ebp - 0x750], eax
call fcn.1f013920
fstp qword [ebp - 0x10]
mov edx, dword [ebp - 4]
add edx, 0x1d68
push edx
push 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x70]
push ecx
mov edx, dword [ebp - 4]
add edx, 0x1b20
push edx
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
lea edx, [ebp - 0x10]
push edx
push 1
mov eax, dword [ebp + 0x10]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 4]
add edx, 0xa8
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.1f018590
add esp, 0x30
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x1a54]
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x750], 0
je 0x1f01b112
mov edi, dword [ebp - 4]
add edi, 0x74
mov ecx, 0xc
mov esi, dword [ebp + 0x10]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 4]
add edx, 0xa8
push edx
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
call fcn.1f0188e0
jmp 0x1f01b11e
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x34]
mov dword [eax + 0x1a54], ecx
cmp dword [ebp - 0x40], 0
jne 0x1f01b13a
cmp dword [0x1f083738], 0
jne 0x1f01b13a
cmp dword [0x1f06c38c], 0
je 0x1f01b203
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xb6]
cmp eax, 2
je 0x1f01b15b
cmp dword [0x1f06c38c], 0
jne 0x1f01b15b
cmp dword [0x1f083738], 0
je 0x1f01b17f
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1b74], 0
je 0x1f01b173
mov dword [ebp - 0x754], 2
jmp 0x1f01b17d
mov dword [ebp - 0x754], 3
jmp 0x1f01b189
mov dword [ebp - 0x754], 2
mov edx, dword [ebp - 4]
add edx, 0xa8
mov ecx, dword [ebp + 8]
call fcn.1f018df0
test eax, eax
je 0x1f01b203
mov edx, dword [ebp - 0x24]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push eax
mov ecx, dword [ebp - 4]
add ecx, 0x74
push ecx
mov edx, dword [ebp - 4]
add edx, 0x74
push edx
mov eax, dword [ebp - 4]
add eax, 0x74
push eax
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x70]
push edx
mov eax, dword [ebp - 4]
add eax, 0x1b20
push eax
mov ecx, dword [ebp - 0x754]
push ecx
mov edx, dword [ebp - 0xc0]
push edx
push 0
sub esp, 8
fldz
fstp qword [esp]
push 0
mov eax, dword [ebp - 4]
add eax, 0xa8
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.1f0232f0
add esp, 0x44
lea edx, [ebp - 0xbc]
push edx
mov eax, dword [ebp - 0x28]
push eax
call fcn.1f019540
add esp, 8
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x98], 0
jne 0x1f01b380
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xb6]
cmp eax, 2
je 0x1f01b380
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xb6]
cmp edx, 1
je 0x1f01b380
cmp dword [0x1f083738], 0
jne 0x1f01b380
cmp dword [0x1f06c38c], 0
jne 0x1f01b380
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1b20]
mov edx, dword [ecx + 0x1b24]
mov cl, 1
call fcn.1f040ac0
and eax, 1
and edx, 0
mov dword [ebp - 0x7ec], eax
mov dword [ebp - 0x7e8], edx
mov edx, dword [ebp - 0x7ec]
or edx, dword [ebp - 0x7e8]
jne 0x1f01b380
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1b20]
mov edx, dword [ecx + 0x1b24]
mov cl, 4
call fcn.1f040ac0
and eax, 1
and edx, 0
mov dword [ebp - 0x7f4], eax
mov dword [ebp - 0x7f0], edx
mov edx, dword [ebp - 0x7f4]
or edx, dword [ebp - 0x7f0]
jne 0x1f01b380
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1b20]
mov edx, dword [ecx + 0x1b24]
mov cl, 5
call fcn.1f040ac0
and eax, 1
and edx, 0
mov dword [ebp - 0x7fc], eax
mov dword [ebp - 0x7f8], edx
mov edx, dword [ebp - 0x7fc]
or edx, dword [ebp - 0x7f8]
jne 0x1f01b380
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1b20]
mov edx, dword [ecx + 0x1b24]
mov cl, 6
call fcn.1f040ac0
and eax, 1
and edx, 0
mov dword [ebp - 0x804], eax
mov dword [ebp - 0x800], edx
mov edx, dword [ebp - 0x804]
or edx, dword [ebp - 0x800]
jne 0x1f01b380
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x1b20]
mov edx, dword [ecx + 0x1b24]
mov cl, 7
call fcn.1f040ac0
and eax, 1
and edx, 0
mov dword [ebp - 0x80c], eax
mov dword [ebp - 0x808], edx
mov edx, dword [ebp - 0x80c]
or edx, dword [ebp - 0x808]
je 0x1f01b408
mov dword [ebp - 0x758], 0xa0
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1afc]
add ecx, dword [ebp - 0x758]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
je 0x1f01b3c1
cmp dword [ebp - 0x758], 0
je 0x1f01b3c1
mov eax, dword [ebp - 0x758]
shr eax, 1
mov dword [ebp - 0x758], eax
jmp 0x1f01b38a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x1afc]
add edx, dword [ebp - 0x758]
push edx
push 0
mov eax, dword [0x1f0837b4]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1afc]
add eax, dword [ebp - 0x758]
push eax
mov ecx, dword [ebp - 0x38]
push ecx
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x4c]
push eax
call fcn.1f03f910
add esp, 0xc
cmp dword [0x1f06c37c], 0
je 0x1f01b43e
cmp dword [0x1f06c384], 0
je 0x1f01b432
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x1b18], 0
jne 0x1f01b432
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1b18], 0
je 0x1f01b43e
mov dword [ebp - 0x810], 1
jmp 0x1f01b448
mov dword [ebp - 0x810], 0
mov eax, dword [ebp - 0x810]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x1b1c], 0
cmp dword [ebp - 0xbc], 2
jne 0x1f01b4ad
mov edx, dword [ebp - 4]
fld qword [ebp - 0x10]
fstp qword [edx + 0x1d60]
mov edi, dword [ebp - 4]
add edi, 0x1d30
mov ecx, 0xc
mov esi, dword [ebp + 0x10]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 4]
cmp dword [eax + 0x1d68], 0xbaffe3
je 0x1f01b4a4
mov dword [ebp - 0xbc], 1
jmp 0x1f01b4ab
mov dword [ebp - 0x48], 0x1f01db20
jmp 0x1f01b4d8
cmp dword [ebp - 0xbc], 3
jne 0x1f01b4d8
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x1d68], 0xbaffe4
je 0x1f01b4d1
mov dword [ebp - 0xbc], 1
jmp 0x1f01b4d8
mov dword [ebp - 0x48], 0x1f013970
cmp dword [ebp - 0xbc], 1
jne 0x1f01b548
mov edx, dword [ebp + 8]
cmp dword [edx + 0x90], 0
je 0x1f01b511
cmp dword [ebp - 0xc4], 0
je 0x1f01b511
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x90]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 4]
mov dword [edx + 0x1b1c], 1
jmp 0x1f01b548
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
je 0x1f01b525
mov ecx, dword [ebp + 8]
add ecx, 0x24
mov dword [ebp - 0x48], ecx
jmp 0x1f01b548
mov edx, dword [ebp + 8]
cmp dword [edx + 0x9c], 0
je 0x1f01b53c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x48], ecx
jmp 0x1f01b548
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x8c]
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1b28], 0
je 0x1f01b5a9
mov edx, dword [ebp + 8]
cmp dword [edx + 4], 0
jne 0x1f01b5a9
mov eax, dword [ebp + 8]
cmp dword [eax + 0x9c], 0
jne 0x1f01b5a9
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x54], eax
mov edx, dword [ebp - 4]
mov eax, dword [ebp + 8]
mov dword [edx + 0x58], eax
push 0
push 0
mov ecx, dword [ebp - 4]
add ecx, 0x54
push ecx
push 0x1f014590
push 0x100000
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov edx, dword [ebp - 4]
mov dword [edx + 0x50], eax
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1b74], 0
je 0x1f01b9a6
mov ecx, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 4]
cmp dword [eax + 0x4c], 0
je 0x1f01b5ed
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x4c]
push edx
push 0
mov eax, dword [0x1f0837b4]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 4]
mov dword [ecx + 0x4c], 0
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x38]
mov cl, byte [eax + 0xb5]
mov byte [ebp - 0x791], cl
mov edx, dword [ebp - 4]
add edx, 0xa8
mov dword [ebp - 0x790], edx
mov eax, dword [ebp - 0x790]
cmp dword [eax], 0
je 0x1f01b6c9
mov ecx, dword [ebp - 0x790]
add ecx, 8
mov dword [ebp - 0x78c], ecx
movzx edx, byte [ebp - 0x791]
imul edx, edx, 0xa4
add edx, dword [ebp - 0x78c]
mov dword [ebp - 0x788], edx
jmp 0x1f01b658
mov eax, dword [ebp - 0x78c]
add eax, 0xa4
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x78c]
cmp ecx, dword [ebp - 0x788]
jae 0x1f01b6bd
mov edx, dword [ebp - 0x78c]
mov dword [edx + 8], 0
mov eax, dword [ebp - 0x78c]
mov dword [eax + 0xc], 0
mov ecx, dword [ebp - 0x78c]
cmp dword [ecx + 0x90], 0
je 0x1f01b6bb
mov edx, dword [ebp - 0x78c]
mov eax, dword [edx + 0x90]
push eax
push 0
mov ecx, dword [0x1f0837b4]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 0x78c]
mov dword [edx + 0x90], 0
jmp 0x1f01b647
mov eax, dword [ebp - 0x790]
mov dword [eax], 0
mov ecx, dword [ebp - 0x790]
cmp dword [ecx + 0x1a54], 0
je 0x1f01b704
mov edx, dword [ebp - 0x790]
mov eax, dword [edx + 0x1a54]
push eax
push 0
mov ecx, dword [0x1f0837b4]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov edx, dword [ebp - 0x790]
mov dword [edx + 0x1a54], 0
mov eax, dword [ebp + 8]
cmp dword [eax + 0x1b28], 0
je 0x1f01b742
mov ecx, dword [ebp - 4]
cmp dword [ecx + 0x50], 0
je 0x1f01b742
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x54]
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
push 0xffffffffffffffff
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0x50]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x50]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp + 8]
cmp dword [edx + 4], 0
jne 0x1f01b76e
mov eax, dword [ebp + 8]
cmp dword [eax + 0x9c], 0
jne 0x1f01b76e
mov ecx, dword [ebp - 4]
mov edx, dword [ecx + 0xa4]
push edx
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
mov eax, dword [ebp + 8]
cmp dword [eax + 0xa8], 1
jne 0x1f01b78a
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0xac]
push edx
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov eax, dword [0x1f0837c4]
mov dword [ebp - 0x798], eax
cmp dword [ebp - 0x798], 0x40
jae 0x1f01b7b2
mov ecx, dword [ebp - 0x798]
push ecx
call section..text
mov dword [ebp - 0x79c], eax
jmp 0x1f01b7c5
mov edx, dword [ebp - 0x798]
push edx
call dword [sym.imp.KERNEL32.dll_TlsGetValue]
mov dword [ebp - 0x79c], eax
mov eax, dword [ebp - 0x79c]
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x784]
add ecx, 1
mov dword [ebp - 0x7a4], ecx
mov edx, dword [0x1f0837c4]
mov dword [ebp - 0x7a0], edx
cmp dword [ebp - 0x7a0], 0x40
jae 0x1f01b80a
mov eax, dword [ebp - 0x7a4]
push eax
mov ecx, dword [ebp - 0x7a0]
push ecx
call fcn.1f001021
jmp 0x1f01b81e
mov edx, dword [ebp - 0x7a4]
push edx
mov eax, dword [ebp - 0x7a0]
push eax
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
cmp dword [ebp - 0x7b0], 0
je 0x1f01b8d3
mov ecx, dword [ebp - 0x7b0]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x7b0]
cmp dword [ecx + eax + 0x10], 0
je 0x1f01b8d3
mov edx, dword [ebp - 0x7b0]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x7b0]
mov eax, dword [edx + ecx + 0x10]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 4]
jne 0x1f01b8a5
mov edx, dword [ebp - 0x7b0]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x7b0]
mov eax, dword [edx + ecx + 0x10]
push eax
mov ecx, dword [ebp - 0x7b0]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x7b0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7b0]
add ecx, dword [edx + 4]
mov edx, dword [ebp - 0x7b0]
mov eax, dword [edx + eax]
mov edx, dword [eax + 0x20]
call edx
jmp 0x1f01b8d3
mov eax, dword [ebp - 4]
push eax
mov ecx, dword [ebp - 0x7b0]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x7b0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0x7b0]
add ecx, dword [edx + 4]
mov edx, dword [ebp - 0x7b0]
mov eax, dword [edx + eax]
mov edx, dword [eax + 0x24]
call edx
mov eax, dword [0x1f0837c4]
mov dword [ebp - 0x7a8], eax
cmp dword [ebp - 0x7a8], 0x40
jae 0x1f01b8fc
mov ecx, dword [ebp - 0x784]
push ecx
mov edx, dword [ebp - 0x7a8]
push edx
call fcn.1f001021
jmp 0x1f01b910
mov eax, dword [ebp - 0x784]
push eax
mov ecx, dword [ebp - 0x7a8]
push ecx
call dword [sym.imp.KERNEL32.dll_TlsSetValue]
mov edx, dword [ebp - 0x3c]
push edx
call fcn.1f001055
mov eax, dword [ebp + 8]
add eax, 0xa8
or ecx, 0xffffffff
lock xadd dword [eax], ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0xa8], 0
jge 0x1f01b941
mov eax, dword [ebp + 8]
mov dword [eax + 0xa8], 0
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xa8], 0
jne 0x1f01b9a4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xa0]
mov dword [ebp - 0x7ac], eax
cmp dword [ebp - 0x7ac], 0
je 0x1f01b9a4
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x1b2c], 0
je 0x1f01b973
jmp 0x1f01b9a4
mov edx, dword [ebp + 8]
mov dword [edx + 0xa0], 0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xb4]
push ecx
mov edx, dword [ebp + 8]
add edx, 8
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xb0]
push ecx
call fcn.1f03f910
add esp, 0xc
jmp 0x1f01ba16
mov edx, dword [ebp + 8]
cmp dword [edx + 0x1b44], 2
jne 0x1f01ba00
mov ecx, dword [0x1f08371c]
call fcn.1f027780
test eax, eax
jne 0x1f01b9f5
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x1f01b9f3
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x9c], 0
jne 0x1f01b9f3
call dword [sym.imp.KERNEL32.dll_GetCurrentThread]
mov dword [ebp - 0xc8], eax
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0xc8]
push eax
call dword [sym.imp.KERNEL32.dll_SetThreadPriority]
jmp 0x1f01b9fe
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 0x1f01d9b0
jmp 0x1f01ba09
mov edx, dword [ebp + 0xc]
mov dword [edx], 0x1f01d9b0
mov eax, dword [ebp - 4]
add eax, 0x68
push eax
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea ecx, [ebp - 0xb8]
push ecx
call fcn.1f01dab0
add esp, 4
mov edx, dword [ebp - 0x3c]
push edx
call fcn.1f001055
mov eax, dword [ebp + 8]
cmp dword [eax + 4], 0
jne 0x1f01ba43
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x9c], 0
je 0x1f01ba4c
mov edx, dword [ebp - 0x24]
mov dword [edx], 0
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov eax, dword [ebp - 0xbc]
pop edi
pop esi
mov esp, ebp
pop ebp
ret