Function at 0x1000ab10
Capabilities:
Check for time delay via gettickcount

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8bc
mov eax, dword [0x10072368]
xor eax, esp
mov dword [esp + 0x8b8], eax
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
lea eax, [esp + 0x18]
xor ebx, ebx
push eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], 0x10075b98
mov byte [esp + 0x20], bl
call fcn.10008f80
mov ecx, dword [str.F0E1D2C3B4A5]
mov dword [esi], ecx
mov edx, dword [0x10067a84]
mov dword [esi + 4], edx
mov eax, dword [0x10067a88]
mov dword [esi + 8], eax
mov cl, byte [0x10067a8c]
mov byte [esi + 0xc], cl
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
mov edi, eax
xor eax, eax
xor edx, edx
mov dword [esp + 0xc], edi
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
mov dword [esp + 0x14], ebx
mov word [esp + 0xac], dx
mov dword [esp + 0xae], eax
mov dword [esp + 0xb2], eax
mov dword [esp + 0xb6], eax
mov dword [esp + 0xba], eax
mov word [esp + 0xbe], ax
call esi
mov ecx, eax
sub ecx, edi
lea esi, [esp + 0x3c]
call fcn.1000a7e0
push eax
mov eax, str.start:
lea esi, [esp + 0x94]
call fcn.1000c760
add esp, 4
push eax
mov ecx, 0x10074b24
call fcn.100038c0
mov esi, 0x10
cmp dword [esp + 0xa4], esi
jb 0x1000ac13
mov eax, dword [esp + 0x90]
push eax
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp dword [esp + 0x50], esi
jb 0x1000ac3f
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1002a8ed
add esp, 4
lea edi, [esp + 0x14]
lea ecx, [esp + 0xac]
call fcn.100086b0
cmp eax, 1
jne 0x1000ac81
lea eax, [esp + 0xac]
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x1000ac60
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0xb0]
mov esi, 0x10074ab4
call fcn.100041e0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x20]
call fcn.1000a7e0
push str.read_src_return:
lea edx, [esp + 0x5c]
push 0x10074b24
push edx
mov esi, eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x90]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0xa4], 0x10
jb 0x1000ace4
mov eax, dword [esp + 0x90]
push eax
call fcn.1002a8ed
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp dword [esp + 0x6c], edi
jb 0x1000ad16
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x34], edi
jb 0x1000ad35
mov edx, dword [esp + 0x20]
push edx
call fcn.1002a8ed
add esp, 4
mov edi, dword [0x10075b64]
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp edi, ebx
jne 0x1000ad6b
push 0x64
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000ad61
push eax
call fcn.10006840
jmp 0x1000ad63
xor eax, eax
mov edi, eax
mov dword [0x10075b64], edi
mov ebx, dword [esp + 0x10]
call fcn.10007870
test al, al
je 0x1000afd7
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x90]
call fcn.1000a7e0
push str.read_file_mac1_return:
mov esi, eax
lea eax, [esp + 0x5c]
push 0x10074b24
push eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x20]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x34], 0x10
jb 0x1000add9
mov ecx, dword [esp + 0x20]
push ecx
call fcn.1002a8ed
add esp, 4
xor ebx, ebx
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], esi
jb 0x1000ae04
mov edx, dword [esp + 0x58]
push edx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0xa4], esi
jb 0x1000ae29
mov eax, dword [esp + 0x90]
push eax
call fcn.1002a8ed
add esp, 4
mov eax, dword [0x10075b64]
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa0], ebx
mov byte [esp + 0x90], bl
cmp eax, ebx
jne 0x1000ae64
push 0x64
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000ae5d
push eax
call fcn.10006840
jmp 0x1000ae5f
xor eax, eax
mov dword [0x10075b64], eax
push eax
lea esi, [esp + 0x40]
call fcn.1000a7b0
push eax
mov ecx, str.y_f24
call fcn.100038c0
mov esi, 0x10
cmp dword [esp + 0x50], esi
jb 0x1000ae91
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1002a8ed
add esp, 4
mov eax, dword [0x10075b64]
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp eax, ebx
jne 0x1000aec3
push 0x64
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000aebc
push eax
call fcn.10006840
jmp 0x1000aebe
xor eax, eax
mov dword [0x10075b64], eax
push eax
lea ecx, [esp + 0x24]
call fcn.10007cb0
push eax
mov ecx, 0x10074a98
call fcn.100038c0
cmp dword [esp + 0x34], esi
jb 0x1000aeeb
mov edx, dword [esp + 0x20]
push edx
call fcn.1002a8ed
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x58]
call fcn.1000a7e0
push str.read_file_mac2_return:
mov esi, eax
lea eax, [esp + 0x24]
push 0x10074b24
push eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x3c]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000af45
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1002a8ed
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], edi
jb 0x1000af6e
mov edx, dword [esp + 0x20]
push edx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], edi
jb 0x1000af8d
mov eax, dword [esp + 0x58]
push eax
call fcn.1002a8ed
add esp, 4
cmp dword [esp + 0x88], edi
jb 0x1000afa3
mov ecx, dword [esp + 0x74]
push ecx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x88], esi
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
cmp byte [esp + 0x1c], bl
je 0x1000b845
mov eax, dword [esp + 0x18]
dec dword [eax]
jne 0x1000b845
xor edx, edx
lea ecx, [eax + 4]
xchg dword [ecx], edx
jmp 0x1000b812
push 3
push 0x10067adc
mov ecx, str.y_f24
call fcn.100045a0
push 0x7fe
xor ebx, ebx
lea eax, [esp + 0xc6]
xor edx, edx
push ebx
push eax
mov word [esp + 0xcc], dx
call fcn.1002c660
add esp, 0xc
push 0x400
lea ecx, [esp + 0xc4]
push ecx
push str._USERPROFILE_FunShion.ini
call dword [sym.imp.KERNEL32.dll_ExpandEnvironmentStringsW]
lea edx, [esp + 0xc0]
push edx
push 0x10067ae0
push 0x1006794c
push str.FunShion_Player
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x58]
call fcn.1000a7e0
push str.write_file_return:
mov esi, eax
lea eax, [esp + 0x24]
push 0x10074b24
push eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x3c]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000b099
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1002a8ed
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], esi
jb 0x1000b0c2
mov edx, dword [esp + 0x20]
push edx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], esi
jb 0x1000b0e1
mov eax, dword [esp + 0x58]
push eax
call fcn.1002a8ed
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov esi, dword [0x10075b60]
mov dword [esp + 0x14], eax
cmp esi, ebx
jne 0x1000b115
push 0x78
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000b10b
push eax
call fcn.100015d0
jmp 0x1000b10d
xor eax, eax
mov esi, eax
mov dword [0x10075b60], esi
call fcn.10001720
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x58]
call fcn.1000a7e0
push str.wmi_init_return:
lea ecx, [esp + 0x24]
push 0x10074b24
push ecx
mov esi, eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x3c]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000b174
mov edx, dword [esp + 0x3c]
push edx
call fcn.1002a8ed
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], edi
jb 0x1000b19d
mov eax, dword [esp + 0x20]
push eax
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], edi
jb 0x1000b1bc
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1002a8ed
add esp, 4
mov ecx, dword [0x10075b60]
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp ecx, ebx
jne 0x1000b1f2
push 0x78
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000b1e8
push eax
call fcn.100015d0
jmp 0x1000b1ea
xor eax, eax
mov ecx, eax
mov dword [0x10075b60], ecx
lea edx, [esp + 0x90]
call fcn.10001dc0
push eax
lea ecx, [esp + 0x78]
call fcn.100038c0
cmp dword [esp + 0xa4], edi
jb 0x1000b221
mov edx, dword [esp + 0x90]
push edx
call fcn.1002a8ed
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x58]
call fcn.1000a7e0
push str.wmi_get_mac_return:
mov esi, eax
lea eax, [esp + 0x24]
push 0x10074b24
push eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x3c]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000b27b
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1002a8ed
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], esi
jb 0x1000b2a4
mov edx, dword [esp + 0x20]
push edx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], esi
jb 0x1000b2c3
mov eax, dword [esp + 0x58]
push eax
call fcn.1002a8ed
add esp, 4
mov eax, dword [0x10075b60]
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp eax, ebx
jne 0x1000b2f5
push 0x78
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000b2ee
push eax
call fcn.100015d0
jmp 0x1000b2f0
xor eax, eax
mov dword [0x10075b60], eax
lea edi, [esp + 0x90]
call fcn.10001da0
push eax
mov ecx, 0x10074a60
call fcn.100038c0
cmp dword [esp + 0xa4], esi
jb 0x1000b325
mov ecx, dword [esp + 0x90]
push ecx
call fcn.1002a8ed
add esp, 4
cmp dword [esp + 0x88], esi
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x74]
jae 0x1000b33d
lea esi, [esp + 0x74]
cmp dword [0x10075b64], ebx
jne 0x1000b362
push 0x64
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000b35b
push eax
call fcn.10006840
jmp 0x1000b35d
xor eax, eax
mov dword [0x10075b64], eax
push edi
mov ecx, esi
call fcn.10006b00
test al, al
jne 0x1000b627
lea edx, [esp + 0x3c]
push edx
call fcn.10001550
mov ecx, eax
call fcn.10002db0
push eax
lea ecx, [esp + 0x78]
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000b3a1
mov eax, dword [esp + 0x3c]
push eax
call fcn.1002a8ed
add esp, 4
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x58]
call fcn.1000a7e0
push str.fake_mac_return:
lea ecx, [esp + 0x24]
push 0x10074b24
push ecx
mov esi, eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x3c]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000b3fb
mov edx, dword [esp + 0x3c]
push edx
call fcn.1002a8ed
add esp, 4
mov esi, 0x10
mov edi, 0xf
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], esi
jb 0x1000b424
mov eax, dword [esp + 0x20]
push eax
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x34], edi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], esi
jb 0x1000b443
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1002a8ed
add esp, 4
cmp dword [esp + 0x84], 0xc
jne 0x1000b510
push 4
push 0x10067b3c
mov ecx, str.y_f24
call fcn.100045a0
mov esi, str.fake
call fcn.100085a0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x58]
call fcn.1000a7e0
push str.write_fake_return:
lea edx, [esp + 0x24]
push 0x10074b24
push edx
mov esi, eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x3c]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000b4c6
mov eax, dword [esp + 0x3c]
push eax
call fcn.1002a8ed
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], edi
jb 0x1000b4ef
mov ecx, dword [esp + 0x20]
push ecx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], edi
jb 0x1000b512
mov edx, dword [esp + 0x58]
push edx
call fcn.1002a8ed
add esp, 4
jmp 0x1000b512
mov edi, esi
call fcn.10001550
cmp dword [esp + 0x84], 0xc
jb 0x1000b533
lea eax, [esp + 0x74]
push eax
call fcn.10002af0
cmp al, bl
je 0x1000b627
push 4
push 0x10067b64
mov ecx, str.y_f24
call fcn.100045a0
call fcn.10006960
lea esi, [esp + 0x3c]
call fcn.10008160
push eax
lea ecx, [esp + 0x78]
call fcn.100038c0
cmp dword [esp + 0x50], edi
jb 0x1000b56f
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.1002a8ed
add esp, 4
mov esi, str.time
call fcn.100085a0
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x58]
call fcn.1000a7e0
push str.write_time_mac_return:
lea edx, [esp + 0x24]
push 0x10074b24
push edx
mov esi, eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x3c]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000b5d3
mov eax, dword [esp + 0x3c]
push eax
call fcn.1002a8ed
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], edi
jb 0x1000b5fc
mov ecx, dword [esp + 0x20]
push ecx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], edi
jb 0x1000b61b
mov edx, dword [esp + 0x58]
push edx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp dword [esp + 0x88], 0x10
mov eax, dword [esp + 0x74]
jae 0x1000b639
lea eax, [esp + 0x74]
mov edx, dword [eax]
mov ecx, dword [esp + 0x10]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov al, byte [eax + 0xc]
mov byte [ecx + 0xc], al
mov ecx, dword [0x10075b60]
cmp ecx, ebx
jne 0x1000b67d
push 0x78
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000b673
push eax
call fcn.100015d0
jmp 0x1000b675
xor eax, eax
mov ecx, eax
mov dword [0x10075b60], ecx
mov edx, dword [ecx + 0x58]
mov eax, dword [ecx + 0x54]
mov dword [0x10075b6c], edx
mov dword [0x10075b68], eax
call fcn.10002910
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
sub ecx, dword [esp + 0xc]
lea esi, [esp + 0x58]
call fcn.1000a7e0
push str.write_result_return:
lea ecx, [esp + 0x24]
push 0x10074b24
push ecx
mov esi, eax
call fcn.1000c7b0
mov ecx, eax
add esp, 0xc
mov eax, esi
lea edi, [esp + 0x3c]
call fcn.1000c890
push eax
mov ecx, 0x10074b24
call fcn.100038c0
cmp dword [esp + 0x50], 0x10
jb 0x1000b6ed
mov edx, dword [esp + 0x3c]
push edx
call fcn.1002a8ed
add esp, 4
mov edi, 0x10
mov esi, 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x4c], ebx
mov byte [esp + 0x3c], bl
cmp dword [esp + 0x34], edi
jb 0x1000b716
mov eax, dword [esp + 0x20]
push eax
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], ebx
mov byte [esp + 0x20], bl
cmp dword [esp + 0x6c], edi
jb 0x1000b735
mov ecx, dword [esp + 0x58]
push ecx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x6c], esi
mov esi, dword [0x10075b60]
mov dword [esp + 0x68], ebx
mov byte [esp + 0x58], bl
cmp esi, ebx
jne 0x1000b76b
push 0x78
call fcn.1002b00e
add esp, 4
cmp eax, ebx
je 0x1000b761
push eax
call fcn.100015d0
jmp 0x1000b763
xor eax, eax
mov esi, eax
mov dword [0x10075b60], esi
mov eax, dword [esi + 0x40]
mov dword [esp + 0x10], esi
cmp eax, ebx
je 0x1000b787
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esi + 0x40], ebx
mov esi, dword [0x10075b60]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x44]
cmp eax, ebx
je 0x1000b7a7
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov ecx, dword [esp + 0x10]
mov esi, dword [0x10075b60]
mov dword [ecx + 0x44], ebx
cmp esi, ebx
je 0x1000b7c1
mov edi, esi
call fcn.10001670
push edi
call fcn.1002a8ed
add esp, 4
mov dword [0x10075b60], ebx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, dword [esp + 0x14]
cmp dword [esp + 0x88], 0x10
mov dword [0x10075b70], eax
jb 0x1000b7e7
mov edx, dword [esp + 0x74]
push edx
call fcn.1002a8ed
add esp, 4
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
cmp byte [esp + 0x1c], bl
je 0x1000b845
mov eax, dword [esp + 0x18]
dec dword [eax]
jne 0x1000b845
xor ecx, ecx
lea edx, [eax + 4]
xchg dword [edx], ecx
add eax, 8
mov edx, eax
mov ecx, SysReAllocString
lock xadd dword [edx], ecx
test ecx, 0x40000000
jne 0x1000b845
cmp ecx, 0x80000000
jle 0x1000b845
mov ecx, eax
lock bts dword [ecx], 0x1e
jb 0x1000b845
call fcn.100067d0
push eax
call dword [sym.imp.KERNEL32.dll_SetEvent]
mov ecx, dword [esp + 0x8c4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1002a8f8
mov esp, ebp
pop ebp
ret