Function at 0x1002c7a5
Capabilities:
Get thread local storage value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x4d4
mov eax, dword [0x1010e2b0]
xor eax, esp
mov dword [esp + 0x4d0], eax
push ebx
mov ebx, dword [ebp + 0xc]
mov eax, ecx
push esi
mov esi, dword [ebp + 0x10]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x60], eax
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x68], edi
test esi, esi
je 0x100742c3
test edx, edx
je 0x1002c26a
test eax, eax
je 0x1007438f
mov ecx, dword [ebp + 0x14]
mov byte [esp + 0x40], 0
test ecx, ecx
jne 0x10074407
cmp dword [0x1010fa10], ecx
jne 0x1002c9fb
mov eax, dword [0x1010e050]
mov dword [esp + 0x38], eax
mov eax, dword [0x1010e054]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x64]
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x48], eax
mov eax, edi
and eax, 2
mov dword [esp + 0x44], ecx
mov dword [esp + 0x7c], eax
or eax, 0
mov dword [esp + 0x4c], 0
jne 0x10074419
test ecx, ecx
je 0x10074419
mov byte [esp + 0x50], al
xor ecx, ecx
mov dword [esp + 0x84], ebx
xor eax, eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x8c], ecx
xor edi, edi
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x38]
mov dword [esp + 0x88], ecx
mov ecx, dword [ebp + 0x18]
mov dword [esp + 0x14], eax
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0xa8], eax
mov byte [esp + 0xb0], al
mov word [esp + 0xb2], ax
mov dword [esp + 0xb8], eax
mov byte [esp + 0xbc], al
mov dword [esp + 0x4c0], eax
mov dword [esp + 0x4c4], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x94], ecx
xor ecx, ecx
mov dword [esp + 0x98], edi
mov dword [esp + 0x4c8], eax
mov dword [esp + 0x90], esi
lea ebx, [ebx]
inc ecx
mov dword [esp + 0x4d0], ecx
cmp ecx, 2
je 0x1002c6ec
xor edx, edx
mov dword [esp + 0xb8], 0
mov dword [esp + 0x9c], edx
movzx ebx, word [esi]
mov word [esp + 0xb2], bx
test bx, bx
je 0x1002c589
lea esp, [esp]
add esi, 2
mov dword [esp + 0x90], esi
test edi, edi
js 0x1002c98f
mov ecx, dword [esp + 0xb2]
add ecx, 0xffffffe0
mov dword [esp + 0x6c], 0x1000bd78
cmp cx, 0x5a
ja 0x1002c8aa
movzx ecx, bx
lfence
movzx ecx, byte [ecx + 0x1000bd58]
and ecx, 0xf
lea edx, [edx + ecx*8]
movzx edx, byte [ecx + edx + 0x1000bd78]
shr edx, 4
mov dword [esp + 0x9c], edx
cmp edx, 8
je 0x10074b35
cmp edx, 7
ja case.default.0x1002c425
jmp dword [edx*4 + 0x1002ca94]
mov byte [esp + 0xbc], 1
mov ecx, dword [eax + 8]
movzx ebx, bx
cmp ecx, dword [eax + 4]
je 0x10074423
inc edi
mov dword [esp + 0x98], edi
inc dword [eax + 8]
mov eax, dword [esp + 0x4c8]
mov eax, dword [eax]
mov word [eax], bx
mov eax, dword [esp + 0x4c8]
add dword [eax], 2
mov ecx, dword [esp + 0xa0]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x10], ecx
jmp 0x1002c54e
cmp bx, 0x2a
je 0x100746f5
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1002c78e
mov ebx, dword [eax]
lea edx, [esp + 0x54]
mov dword [eax], 0
mov edi, eax
mov ecx, dword [esp + 0x90]
sub esp, 8
mov eax, esp
mov dword [esp + 0x2c], edi
add ecx, 0xfffffffe
mov dword [esp + 0x30], ebx
push 1
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, 0xa
mov dword [esp + 0x60], ecx
xor ecx, ecx
call fcn.1002cb30
mov ecx, dword [esp + 0x98]
add esp, 0xc
mov dword [esp + 0xa4], eax
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x100745d9
cmp dword [ecx], 0x22
je 0x100746bc
mov esi, dword [esp + 0x54]
cmp esi, dword [esp + 0x90]
jb 0x100746cc
mov dword [esp + 0x90], esi
cmp dword [edi], 0
jne 0x1002c52e
test ebx, ebx
jne 0x100746dc
mov al, 1
test al, al
je case.default.0x1002c425
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x80]
mov edi, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov eax, dword [esp + 0x4c8]
mov dword [esp + 0x1c], ecx
mov bx, word [esi]
mov word [esp + 0xb2], bx
test bx, bx
jne 0x1002c3c0
mov ecx, dword [esp + 0x4d0]
add esi, 2
mov dword [esp + 0x90], esi
test edx, edx
je 0x1002c380
cmp edx, 7
je 0x1002c380
jmp 0x10074bf6
xor ecx, ecx
mov dword [esp + 0xa4], 0
mov byte [esp + 0xb0], 0
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa8], 0xffffffff
mov dword [esp + 0xac], ecx
mov byte [esp + 0xbc], cl
jmp case.0x1002ca76.33
lea ecx, [esp + 0x80]
call fcn.1002e200
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x10], ecx
jmp 0x1002c530
cmp bx, 0x46
je 0x100748db
cmp bx, 0x4e
je 0x100748fb
cmp dword [esp + 0xac], 0
jne 0x10074a6e
movzx ecx, bx
cmp ecx, 0x68
jne 0x1002c856
cmp word [esi], cx
je 0x1002c8f4
mov dword [esp + 0xac], 2
jmp case.0x1002ca76.33
mov dword [esp + 0xa8], 0
jmp case.0x1002ca76.33
cmp bx, 0x2a
je 0x1002c8cb
mov eax, dword [esp + 0x10]
test eax, eax
je 0x1002c90e
mov ebx, dword [eax]
lea edx, [esp + 0x58]
mov dword [eax], 0
mov edi, eax
mov ecx, dword [esp + 0x90]
sub esp, 8
mov eax, esp
mov dword [esp + 0x34], edi
add ecx, 0xfffffffe
mov dword [esp + 0x38], ebx
push 1
mov dword [eax], ecx
mov dword [eax + 4], edx
mov edx, 0xa
mov dword [esp + 0x64], ecx
xor ecx, ecx
call fcn.1002cb30
mov ecx, dword [esp + 0x98]
add esp, 0xc
mov dword [esp + 0xa8], eax
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x100747be
cmp dword [ecx], 0x22
je 0x100748ab
mov esi, dword [esp + 0x58]
cmp esi, dword [esp + 0x90]
jae 0x1002c51a
jmp 0x100748bb
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x1002c72f
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x20]
and eax, 1
or eax, 0
jne 0x10074cd2
mov eax, dword [esp + 0x7c]
or eax, 0
jne 0x10074d06
test edx, edx
je 0x10074d2d
mov eax, dword [esp + 0x4c]
cmp eax, edx
je 0x1002c99b
xor edx, edx
mov word [ecx + eax*2], dx
push dword [esp + 0x4c4]
call sym.ucrtbase.dll__free_base
add esp, 4
mov dword [esp + 0x4c4], 0
cmp byte [esp + 0x40], 0
jne 0x1002ca53
mov eax, edi
mov ecx, dword [esp + 0x4dc]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1005cc20
mov esp, ebp
pop ebp
ret
movzx ecx, bx
cmp ecx, 0x30
jne 0x1002ca63
mov ecx, dword [esp + 0x14]
or ecx, 8
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa0], ecx
jmp case.0x1002ca76.33
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ebx, dword [0x1010e2c0]
mov esi, eax
cmp ebx, 0xffffffff
je 0x100744f3
mov edi, dword [0x1010f3b4]
mov ecx, dword [0x1010e2b0]
xor edi, dword [0x1010e2b0]
and ecx, 0x1f
ror edi, cl
cmp edi, 0xffffffff
je 0x100744b6
test edi, edi
je 0x1007448a
push ebx
mov ecx, edi
call dword [0x10110268]
call edi
mov edi, eax
test edi, edi
je 0x100744ed
cmp edi, 0xffffffff
je 0x1007452c
test edi, edi
je 0x1007452c
mov edx, dword [0x1010e2c4]
mov ebx, dword [0x1010f3b4]
mov dword [esp + 0x14], edx
mov ecx, dword [0x1010e2b0]
xor ebx, dword [0x1010e2b0]
and ecx, 0x1f
ror ebx, cl
cmp ebx, 0xffffffff
je 0x1007459e
test ebx, ebx
je 0x1007456e
push edx
mov ecx, ebx
call dword [0x10110268]
call ebx
push esi
mov ebx, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
imul eax, ebx, 0x364
add eax, edi
je 0x10074533
add eax, 0x10
mov dword [esp + 0x8c], eax
jmp 0x1002c4a7
add ecx, 0xffffffb7
cmp ecx, 0x31
ja case.0x1002ca76.33
movzx ecx, byte [ecx + 0x1002cad8]
jmp dword [ecx*4 + 0x1002cab4]
movzx ecx, word [esi]
cmp ecx, 0x33
je 0x1002c9bc
cmp ecx, 0x36
jne 0x1002c976
cmp word [esi + 2], 0x34
jne 0x1002c976
add esi, 4
mov dword [esp + 0xac], 0xb
mov dword [esp + 0x90], esi
jmp case.0x1002ca76.33
xor ecx, ecx
jmp 0x1002c3fe
cmp word [esi], 0x6c
je 0x1002c9e1
mov dword [esp + 0xac], 3
jmp case.0x1002ca76.33
mov ecx, dword [esp + 0x18]
add ecx, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x94], ecx
mov ecx, dword [ecx - 4]
mov dword [esp + 0xa8], ecx
test ecx, ecx
jns case.0x1002ca76.33
jmp 0x100748cb
add esi, 2
mov dword [esp + 0xac], 1
mov dword [esp + 0x90], esi
jmp case.0x1002ca76.33
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x1007473f
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x10074739
cmp edi, 0xffffffff
je 0x1007477a
test edi, edi
je 0x1007477a
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x10074781
lea eax, [edi + 0x10]
mov dword [esp + 0x8c], eax
jmp 0x1002c674
cmp ecx, 0x75
jne 0x1007494e
mov dword [esp + 0xac], 9
jmp case.0x1002ca76.33
mov ecx, dword [esp + 0x4d0]
jmp 0x1002c593
mov edi, 0xfffffffe
xor eax, eax
mov word [ecx + edx*2 - 2], ax
jmp 0x1002c72f
mov dword [esp + 0xac], 0xc
jmp case.0x1002ca76.33
cmp word [esi + 2], 0x32
jne 0x1002c87c
add esi, 4
mov dword [esp + 0xac], 0xa
mov dword [esp + 0x90], esi
jmp case.0x1002ca76.33
add esi, 2
mov dword [esp + 0xac], 4
mov dword [esp + 0x90], esi
jmp case.0x1002ca76.33
call fcn.1005de8f
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x4c]
mov dword [esp + 0x38], ecx
mov ecx, dword [eax + 0x48]
mov dword [esp + 0x3c], ecx
lea ecx, [esp + 0x38]
push ecx
push eax
call fcn.100344a7
lea eax, [esp + 0x44]
push eax
push dword [esp + 0x40]
call fcn.1003e467
mov ecx, dword [esp + 0x44]
add esp, 0x10
mov eax, dword [ecx + 0x350]
test al, 2
jne 0x1002c298
or eax, 2
mov dword [ecx + 0x350], eax
mov byte [esp + 0x40], 1
jmp 0x1002c298
mov ecx, dword [esp + 0x34]
and dword [ecx + 0x350], 0xfffffffd
jmp 0x1002c754
add ecx, 0xffffffe0
cmp ecx, 0xd
ja case.0x1002ca76.33
movzx ecx, byte [ecx + 0x1002cb20]
jmp dword [ecx*4 + 0x1002cb0c]
mov ecx, dword [esp + 0x14]
or ecx, 4
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa0], ecx
jmp case.0x1002ca76.33
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100742f1
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100742eb
cmp edi, 0xffffffff
jne 0x10074338
jmp 0x10074370
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074370
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
je 0x1007435f
mov edx, edi
call fcn.10032a89
test eax, eax
je 0x100743f4
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x10074370
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x10074377
lea eax, [edi + 0x10]
jmp 0x1007437c
xor edx, edx
call fcn.10032a89
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
mov dword [eax], 0x16
call sym.ucrtbase.dll__invalid_parameter_noinfo
or eax, 0xffffffff
jmp 0x1002c756
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100743ba
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100743b4
cmp edi, 0xffffffff
je 0x10074370
jmp 0x10074338
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074370
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
je 0x1007435f
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10074327
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x10074368
mov eax, dword [ecx]
mov dword [esp + 0x38], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x3c], eax
jmp 0x1002c298
mov byte [esp + 0x50], 1
jmp 0x1002c2d4
cmp byte [eax + 0xc], 0
je 0x10074436
inc edi
mov dword [esp + 0x98], edi
jmp case.0x1002ca76.33
or edi, 0xffffffff
mov dword [esp + 0x98], edi
jmp case.0x1002ca76.33
mov ecx, dword [esp + 0x14]
or ecx, 1
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa0], ecx
jmp case.0x1002ca76.33
mov ecx, dword [esp + 0x14]
or ecx, 2
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa0], ecx
jmp case.0x1002ca76.33
mov ecx, dword [esp + 0x14]
or ecx, 0x20
mov dword [esp + 0x14], ecx
mov dword [esp + 0xa0], ecx
jmp case.0x1002ca76.33
mov edi, 0x10006a9c
mov ecx, dword [edi]
call fcn.10032fe0
test eax, eax
jne 0x100744c2
add edi, 4
cmp edi, 0x10006aa4
jne 0x1007448f
push 0xffffffffffffffff
call fcn.10032d19
add esp, 4
mov ecx, 0x1010f3b4
xchg dword [ecx], eax
push ebx
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsGetValue]
jmp 0x1002c7d8
push 0x10006aa4
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
mov edi, eax
test edi, edi
je 0x100744a5
push edi
call fcn.10032d19
add esp, 4
mov ecx, 0x1010f3b4
xchg dword [ecx], eax
test edi, edi
je 0x100744b6
jmp 0x1002c7cd
mov ebx, dword [0x1010e2c0]
or edx, 0xffffffff
mov ecx, ebx
call fcn.10032a89
test eax, eax
je 0x1007452c
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
jne 0x1007453d
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
add esp, 4
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
jmp 0x1002c84a
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10074558
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x10074524
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
jmp 0x1002c7eb
mov ebx, 0x10006a9c
mov ecx, dword [ebx]
call fcn.10032fe0
test eax, eax
jne 0x100745aa
add ebx, 4
cmp ebx, 0x10006aa4
jne 0x10074573
push 0xffffffffffffffff
call fcn.10032d19
add esp, 4
mov ecx, 0x1010f3b4
xchg dword [ecx], eax
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.api_ms_win_core_processthreads_l1_1_0.dll_TlsGetValue]
jmp 0x1002c830
push 0x10006aa4
push eax
call dword [sym.imp.api_ms_win_core_libraryloader_l1_1_0.dll_GetProcAddress]
mov ebx, eax
test ebx, ebx
je 0x10074589
push ebx
call fcn.10032d19
add esp, 4
mov ecx, 0x1010f3b4
xchg dword [ecx], eax
mov edx, dword [esp + 0x14]
test ebx, ebx
je 0x1007459e
jmp 0x1002c825
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x10074608
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100745fe
cmp edi, 0xffffffff
jne 0x10074678
jmp 0x1007463f
mov ecx, dword [0x1010e2c0]
mov edi, dword [esp + 0x24]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074643
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
jne 0x1007464c
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
add esp, 4
mov edi, dword [esp + 0x24]
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
jmp 0x100746a7
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10074667
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x10074637
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x1007463f
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x100746a3
lea ecx, [edi + 0x10]
mov edi, dword [esp + 0x24]
jmp 0x100746ac
mov edi, dword [esp + 0x24]
mov ecx, 0x1010eac0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x8c], ecx
jmp 0x1002c500
lea ecx, [esp + 0x24]
call fcn.10089d80
xor al, al
jmp 0x1002c5f0
lea ecx, [esp + 0x24]
call fcn.10089d80
xor al, al
jmp 0x1002c5f0
mov dword [edi], ebx
mov ecx, dword [esp + 0x8c]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x10], ecx
jmp 0x1002c52e
mov ecx, dword [esp + 0x18]
add ecx, 4
mov dword [esp + 0x18], ecx
mov dword [esp + 0x94], ecx
mov ecx, dword [ecx - 4]
mov dword [esp + 0xa4], ecx
test ecx, ecx
jns case.0x1002ca76.33
mov ebx, dword [esp + 0x14]
or ebx, 4
neg ecx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ecx
jmp case.0x1002ca76.33
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x1007477a
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x1007478b
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x1c]
call fcn.100332f5
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
mov eax, 0x1010eac0
jmp 0x1002c96a
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x100747a0
mov ecx, dword [0x1010e2c0]
xor edx, edx
jmp 0x1007476c
mov ecx, edi
call fcn.10031ad6
push 0
mov dword [esp + 0x20], 0
call sym.ucrtbase.dll__free_base
add esp, 4
jmp 0x1002c93d
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x100747f1
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100747e7
cmp edi, 0xffffffff
jne 0x10074867
jmp 0x1007482c
mov ecx, dword [0x1010e2c0]
mov edi, dword [esp + 0x2c]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074830
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
mov dword [esp + 0x18], edi
test edi, edi
jne 0x10074839
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x18]
call fcn.100332f5
mov edi, dword [esp + 0x2c]
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
jmp 0x10074896
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x1007484e
mov ecx, dword [0x1010e2c0]
xor edx, edx
jmp 0x1007481e
mov ecx, edi
call fcn.10031ad6
push 0
mov dword [esp + 0x1c], 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x1007482c
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x10074892
lea ecx, [edi + 0x10]
mov edi, dword [esp + 0x2c]
jmp 0x1007489b
mov edi, dword [esp + 0x2c]
mov ecx, 0x1010eac0
mov dword [esp + 0x10], ecx
mov dword [esp + 0x8c], ecx
jmp 0x1002c6cd
lea ecx, [esp + 0x2c]
call fcn.10089d80
xor al, al
jmp 0x1002c5f0
lea ecx, [esp + 0x2c]
call fcn.10089d80
xor al, al
jmp 0x1002c5f0
mov dword [esp + 0xa8], 0xffffffff
jmp case.0x1002ca76.33
mov ecx, dword [esp + 0x1c]
and ecx, 8
or ecx, 0
jne case.0x1002ca76.33
mov dword [esp + 0x9c], 7
jmp case.0x1002c425.7
mov ecx, dword [esp + 0x1c]
and ecx, 8
or ecx, 0
jne case.0x1002ca76.33
mov dword [esp + 0x9c], 8
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
mov dword [esp + 0x70], esi
cmp ecx, 0xffffffff
je 0x100749d6
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x100749d0
cmp edi, 0xffffffff
jne 0x10074a40
jmp 0x10074a11
cmp ecx, 0x64
je 0x1002c97f
cmp ecx, 0x69
je 0x1002c97f
cmp ecx, 0x6f
je 0x1002c97f
cmp ecx, 0x78
je 0x1002c97f
cmp ecx, 0x58
jne case.0x1002ca76.33
jmp 0x1002c97f
mov dword [esp + 0xac], 8
jmp case.0x1002ca76.33
mov dword [esp + 0xac], 5
jmp case.0x1002ca76.33
mov dword [esp + 0xac], 7
jmp case.0x1002ca76.33
mov dword [esp + 0xac], 6
jmp case.0x1002ca76.33
mov dword [esp + 0xac], 0xd
jmp case.0x1002ca76.33
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074a11
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
mov dword [esp + 0x10], edi
test edi, edi
jne 0x10074a1a
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x10]
call fcn.100332f5
lea ecx, [esp + 0x70]
jmp 0x10074c68
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10074a2f
mov ecx, dword [0x1010e2c0]
xor edx, edx
jmp 0x10074a03
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x10074a11
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x10074c6d
lea eax, [edi + 0x10]
jmp 0x10074c72
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
mov dword [esp + 0x74], esi
cmp ecx, 0xffffffff
je 0x10074a9d
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x10074a97
cmp edi, 0xffffffff
jne 0x10074b07
jmp 0x10074ad8
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074ad8
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
mov dword [esp + 0x5c], edi
test edi, edi
jne 0x10074ae1
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x5c]
call fcn.100332f5
lea ecx, [esp + 0x74]
jmp 0x10074c68
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10074af6
mov ecx, dword [0x1010e2c0]
xor edx, edx
jmp 0x10074aca
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x10074ad8
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x10074c6d
lea eax, [edi + 0x10]
jmp 0x10074c72
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
cmp ecx, 0xffffffff
je 0x10074b60
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x10074b5a
cmp edi, 0xffffffff
jne 0x10074bcf
jmp 0x10074b97
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074b97
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
test edi, edi
jne 0x10074ba3
xor edx, edx
call fcn.10032a89
push edi
call sym.ucrtbase.dll__free_base
add esp, 4
push esi
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
jmp 0x10074c6d
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10074bbe
mov ecx, dword [0x1010e2c0]
xor edx, edx
call fcn.10032a89
push edi
jmp 0x10074b8f
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x10074b97
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x10074c6d
lea eax, [edi + 0x10]
jmp 0x10074c72
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_GetLastError]
mov ecx, dword [0x1010e2c0]
mov esi, eax
mov dword [esp + 0x78], esi
cmp ecx, 0xffffffff
je 0x10074c29
call fcn.10029fa0
mov edi, eax
test edi, edi
je 0x10074c23
cmp edi, 0xffffffff
jne 0x10074cab
jmp 0x10074c64
mov ecx, dword [0x1010e2c0]
or edx, 0xffffffff
call fcn.10032a89
test eax, eax
je 0x10074c64
push 0x364
push 2
call sym.ucrtbase.dll__calloc_base
mov ecx, dword [0x1010e2c0]
mov edi, eax
add esp, 8
mov dword [esp + 0x60], edi
test edi, edi
jne 0x10074c85
xor edx, edx
call fcn.10032a89
lea ecx, [esp + 0x60]
call fcn.100332f5
lea ecx, [esp + 0x78]
call fcn.10045eb0
mov eax, 0x1010eac0
mov dword [eax], 0x16
call sym.ucrtbase.dll__invalid_parameter_noinfo
or edi, 0xffffffff
jmp 0x1002c6ec
mov edx, edi
call fcn.10032a89
test eax, eax
jne 0x10074c9a
mov ecx, dword [0x1010e2c0]
xor edx, edx
jmp 0x10074c56
mov ecx, edi
call fcn.10031ad6
push 0
call sym.ucrtbase.dll__free_base
add esp, 4
test edi, edi
je 0x10074c64
mov ecx, dword [0x1010e2c4]
call fcn.10029fa0
imul eax, eax, 0x364
push esi
add edi, eax
call dword [sym.imp.api_ms_win_core_errorhandling_l1_1_0.dll_SetLastError]
test edi, edi
je 0x10074c6d
lea eax, [edi + 0x10]
jmp 0x10074c72
test edx, edx
jne 0x10074ce2
test edi, edi
je 0x10074ce2
or edi, 0xffffffff
jmp 0x1002c72f
mov eax, dword [esp + 0x4c]
cmp eax, edx
jne 0x1002c729
test edi, edi
js 0x1002c72f
cmp edi, edx
jbe 0x1002c72f
or edi, 0xffffffff
jmp 0x1002c72f
test edx, edx
je 0x1002c72f
test edi, edi
jns 0x10074d1c
xor eax, eax
mov word [ecx], ax
jmp 0x1002c72f
mov eax, dword [esp + 0x4c]
cmp eax, edx
jne 0x1002c729
jmp 0x1002c9a0
or edi, 0xffffffff
jmp 0x1002c72f