Function at 0x100a2f00
Capabilities:
Parse pe header

Disassembly:
push 0x198
mov eax, 0x1012b23f
call fcn.101108dc
mov edi, ecx
mov dword [ebp - 0xa0], edi
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0xa8], eax
mov dword [ebp - 0xac], eax
mov dword [ebp - 0xa4], ebx
and dword [ebp - 4], ebx
call fcn.10094144
push pe_nt_image_headers32
mov eax, dword [eax + 0x9c]
and dword [ebp - 0x14], ebx
mov dword [ebp - 0x64], eax
call fcn.1003a3c0
mov esi, eax
pop ecx
mov dword [ebp - 0xa8], esi
mov byte [ebp - 4], 1
test esi, esi
je 0x100a30fc
push 0x1014a0f1
lea ecx, [ebp - 0xc4]
call fcn.1003a3c0
and dword [ebp - 0x9c], ebx
lea ecx, [ebp - 0xdc]
mov ebx, 0x1014a0f1
mov byte [ebp - 4], 2
push ebx
mov dword [ebp - 0xa4], 1
call fcn.1003a3c0
push 3
pop eax
push ebx
lea ecx, [ebp - 0xf8]
mov dword [ebp - 4], eax
mov dword [ebp - 0xa4], eax
call fcn.1003a3c0
push 7
pop ebx
push 0x1014a0f1
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 4], 4
mov dword [ebp - 0xa4], ebx
call fcn.1003a3c0
push 0x1014a0f1
lea ecx, [ebp - 0x18c]
mov dword [ebp - 4], 5
mov dword [ebp - 0xa4], 0xf
call fcn.1003a3c0
push 0x1014a0f1
lea ecx, [ebp - 0x174]
mov dword [ebp - 4], 6
mov dword [ebp - 0xa4], 0x1f
call fcn.1003a3c0
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0x15c]
mov ebx, 0x1014a0f1
mov dword [ebp - 0xa4], 0x3f
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0x11c]
mov dword [ebp - 4], 8
mov dword [ebp - 0xa4], 0x7f
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0x98]
mov dword [ebp - 4], 9
mov dword [ebp - 0xa4], 0xff
call fcn.1003a3c0
mov ebx, 0x1ff
mov dword [ebp - 4], 0xa
mov dword [ebp - 0xa4], ebx
call fcn.100e1984
mov ecx, eax
call fcn.100e2b33
mov ecx, dword [eax + 0x94]
call fcn.100403fa
push eax
xor ecx, ecx
lea eax, [ebp - 0xc4]
push ecx
push ecx
push eax
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0x64]
push eax
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
call fcn.10099c28
pop ecx
pop ecx
push edx
push eax
lea eax, [ebp - 0xdc]
mov ecx, esi
push eax
lea eax, [ebp - 0xf8]
push eax
lea eax, [ebp - 0x1a4]
push eax
lea eax, [ebp - 0x18c]
push eax
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x98]
push eax
call fcn.100e520d
jmp 0x100a30fe
xor eax, eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], 0x14
test ebx, 0x100
je 0x100a3121
lea ecx, [ebp - 0x98]
and ebx, 0xfffffeff
call fcn.1001524d
test bl, bl
jns 0x100a3136
lea ecx, [ebp - 0x11c]
and ebx, 0xffffff7f
call fcn.1001524d
test bl, 0x40
je 0x100a3149
lea ecx, [ebp - 0x15c]
and ebx, 0xffffffbf
call fcn.1001524d
test bl, 0x20
je 0x100a315c
lea ecx, [ebp - 0x174]
and ebx, 0xffffffdf
call fcn.1001524d
test bl, 0x10
je 0x100a316f
lea ecx, [ebp - 0x18c]
and ebx, 0xffffffef
call fcn.1001524d
test bl, 8
je 0x100a3182
lea ecx, [ebp - 0x1a4]
and ebx, 0xfffffff7
call fcn.1001524d
test bl, 4
je 0x100a3195
lea ecx, [ebp - 0xf8]
and ebx, 0xfffffffb
call fcn.1001524d
test bl, 2
je 0x100a31a8
lea ecx, [ebp - 0xdc]
and ebx, 0xfffffffd
call fcn.1001524d
mov byte [ebp - 4], 0x1d
test bl, 1
je 0x100a31bf
lea ecx, [ebp - 0xc4]
and ebx, 0xfffffffe
call fcn.1001524d
mov eax, dword [edi + 4]
lea ecx, [ebp - 0x80]
and dword [ebp - 0x70], 0
add eax, 0x18
and dword [ebp - 0x6c], 0
push eax
call fcn.1003a3c0
or ebx, 0x8000
push 0xf
xor edx, edx
pop eax
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], eax
mov byte [ebp - 0x98], dl
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x48], dl
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
mov byte [ebp - 0x30], dl
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x60], dl
cmp dword [ebp - 0x64], 3
lea eax, [ebp - 0x14]
mov dword [ebp - 0xe0], eax
mov eax, dword [edi + 4]
mov byte [ebp - 4], 0x24
mov eax, dword [eax + 0x30]
mov dword [ebp - 0xfc], eax
jne 0x100a34a1
lea eax, [ebp - 0x18]
mov ecx, edi
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.100a2250
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x100a38a2
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov esi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push esi
call fcn.1003a3c0
push esi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x25
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x26
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x27
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov esi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test esi, esi
je 0x100a3390
mov esi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push esi
call fcn.1003a3c0
push esi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x28
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x29
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x2a
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov esi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Runtime_mode_mismatch_found
push 0x1014a0f1
mov ecx, dword [esi + 0x24]
push eax
call dword [0x1014488c]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x9c]
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1009c944
mov ecx, dword [eax]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
lea ecx, [ebp - 0x9c]
call fcn.1009acd9
mov eax, dword [ebp - 0x4c]
push 0x10
pop ebx
cmp eax, ebx
jb 0x100a33e3
inc eax
push eax
push dword [ebp - 0x60]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x60], 0
push 0xf
pop edi
mov dword [ebp - 0x4c], edi
cmp eax, ebx
jb 0x100a3404
inc eax
push eax
push dword [ebp - 0x30]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x30], 0
test esi, esi
je 0x100a342a
mov ecx, esi
call fcn.1009c82f
push 0xf0
push esi
call fcn.1003a3c0
pop ecx
pop ecx
mov eax, dword [ebp - 0x34]
cmp eax, ebx
jb 0x100a343d
inc eax
push eax
push dword [ebp - 0x48]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x38], 0
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x34], edi
mov byte [ebp - 0x48], 0
test esi, esi
je 0x100a3463
mov ecx, esi
call fcn.1004d21f
push 0xf8
push esi
call fcn.1003a3c0
pop ecx
pop ecx
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
jb 0x100a3476
inc eax
push eax
push dword [ebp - 0x80]
call fcn.1003a3c0
pop ecx
pop ecx
cmp dword [ebp - 0x14], 0
je 0x100a3487
push dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
call fcn.1003a3c0
cmp dword [ebp + 0xc], 0
je 0x100a4f9c
push dword [ebp + 0xc]
lea ecx, [ebp + 0xc]
call fcn.1003a3c0
jmp 0x100a4f9c
cmp dword [ebp - 0x64], 2
je 0x100a3686
cmp dword [ebp - 0x64], 4
je 0x100a3686
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov esi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push esi
call fcn.1003a3c0
push esi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x31
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x32
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x33
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov esi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test esi, esi
je 0x100a35e5
mov esi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push esi
call fcn.1003a3c0
push esi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x34
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x35
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x36
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov esi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Runtime_mode_invalid
push 0x1014a0f1
mov ecx, dword [esi + 0x24]
push eax
call dword [0x1014488c]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push 0xd8
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1009c944
mov ecx, dword [eax]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
lea ecx, [ebp - 0x9c]
call fcn.1009acd9
mov eax, dword [ebp - 0x4c]
push 0x10
pop ebx
cmp eax, ebx
jb 0x100a3637
inc eax
push eax
push dword [ebp - 0x60]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x60], 0
push 0xf
pop esi
mov dword [ebp - 0x4c], esi
cmp eax, ebx
jb 0x100a3658
inc eax
push eax
push dword [ebp - 0x30]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x20], 0
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1c], esi
mov byte [ebp - 0x30], 0
cmp eax, ebx
jb 0x100a3676
inc eax
push eax
push dword [ebp - 0x48]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x38], 0
mov dword [ebp - 0x34], esi
mov byte [ebp - 0x48], 0
jmp 0x100a482e
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp + 0xc]
push ecx
mov ecx, esp
mov dword [ebp + 0xc], edx
mov dword [ecx], eax
mov ecx, edi
call fcn.100a1bf0
mov dword [ebp - 0x9c], eax
test eax, eax
je 0x100a38a2
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov esi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push esi
call fcn.1003a3c0
push esi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x2b
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x2c
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x2d
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov esi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test esi, esi
je 0x100a37ea
mov esi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push esi
call fcn.1003a3c0
push esi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x2e
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x2f
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x30
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov esi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Runtime_mode_mismatch_found
push 0x1014a0f1
mov ecx, dword [esi + 0x24]
push eax
call dword [0x1014488c]
call dword [esi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x9c]
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1009c944
mov ecx, dword [eax]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
lea ecx, [ebp - 0x9c]
call fcn.1009acd9
mov eax, dword [ebp - 0x4c]
push 0x10
pop ebx
cmp eax, ebx
jb 0x100a383d
inc eax
push eax
push dword [ebp - 0x60]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x60], 0
push 0xf
pop edi
mov dword [ebp - 0x4c], edi
cmp eax, ebx
jb 0x100a385e
inc eax
push eax
push dword [ebp - 0x30]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x20], 0
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x30], 0
test esi, esi
je 0x100a3884
mov ecx, esi
call fcn.1009c82f
push 0xf0
push esi
call fcn.1003a3c0
pop ecx
pop ecx
mov eax, dword [ebp - 0x34]
cmp eax, ebx
jb 0x100a3897
inc eax
push eax
push dword [ebp - 0x48]
call fcn.1003a3c0
pop ecx
pop ecx
mov esi, dword [ebp - 0x68]
mov dword [ebp - 0x34], edi
jmp 0x100a480e
call fcn.100e1984
mov ecx, eax
call fcn.10016ada
sub esp, 0x18
mov ecx, eax
mov esi, esp
mov dword [ebp - 0xa8], esp
call fcn.100404c1
push eax
mov ecx, esi
call fcn.1003a3c0
mov esi, dword [ebp - 0x68]
sub esp, 0x18
mov ecx, esi
mov byte [ebp - 4], 0x37
mov edi, esp
call fcn.10057143
mov ecx, eax
call fcn.100404b6
push eax
mov ecx, edi
call fcn.1003a3c0
mov byte [ebp - 4], 0x24
call fcn.100e9452
add esp, 0x30
test al, al
jne 0x100a3ab8
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov edi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push edi
call fcn.1003a3c0
push edi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x38
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x39
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x3a
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov edi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test edi, edi
je 0x100a3a3a
mov edi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push edi
call fcn.1003a3c0
push edi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x3b
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x3c
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x3d
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov edi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Runtime_mode_mismatch_found
push 0x1014a0f1
mov ecx, dword [edi + 0x24]
push eax
call dword [0x1014488c]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push 0xd8
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1009c944
mov ecx, dword [eax]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
lea ecx, [ebp - 0x9c]
call fcn.1009acd9
push 0x10
pop ebx
mov eax, dword [ebp - 0x4c]
cmp eax, ebx
jb 0x100a3a8c
inc eax
push eax
push dword [ebp - 0x60]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x1c]
mov byte [ebp - 0x60], 0
push 0xf
pop edi
mov dword [ebp - 0x4c], edi
cmp eax, ebx
jb 0x100a3aad
inc eax
push eax
push dword [ebp - 0x30]
call fcn.1003a3c0
pop ecx
pop ecx
mov dword [ebp - 0x1c], edi
mov edi, dword [ebp - 0x18]
jmp 0x100a47d4
mov eax, dword [ebp - 0xa0]
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0xa8], esp
mov dword [ebp - 0x104], ecx
push dword [eax + 4]
call fcn.1003a3c0
or ebx, 0x10000
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xa4], ebx
sub esp, 0x18
mov byte [ebp - 4], 0x3e
mov ecx, esi
mov edi, esp
call fcn.10057143
mov ecx, eax
call fcn.10034710
push eax
mov ecx, edi
call fcn.1003a3c0
mov byte [ebp - 4], 0x24
call fcn.100e9452
add esp, 0x30
test al, al
jne 0x100a3c6f
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov edi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push edi
call fcn.1003a3c0
push edi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x3f
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x40
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x41
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov edi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test edi, edi
je 0x100a3c58
mov edi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push edi
call fcn.1003a3c0
push edi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x42
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x43
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x44
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov edi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_App_ID_mismatch_found
push 0x1014a0f1
mov ecx, dword [edi + 0x24]
push eax
call dword [0x1014488c]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push 0xd9
jmp 0x100a3a4c
cmp dword [ebp - 0x64], 3
jne 0x100a456a
mov edi, dword [ebp - 0xa0]
lea eax, [ebp - 0x18]
push 1
push eax
mov ecx, edi
call fcn.1009caf6
cmp eax, 0xfe
jne 0x100a3e75
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
push 0x1014a0f1
lea ecx, [ebp - 0xf8]
call fcn.1003a3c0
push 0x1014a0f1
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x45
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x46
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x47
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov edi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test edi, edi
je 0x100a3dd0
mov edi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push edi
call fcn.1003a3c0
push edi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x48
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x49
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x4a
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov edi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Exception_code_mismatch
push 0x1014a0f1
mov ecx, dword [edi + 0x24]
push eax
call dword [0x1014488c]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
mov eax, dword [ebp - 0xa0]
and dword [ebp - 0x10c], 0
and dword [ebp - 0x108], 0
pop ecx
push dword [eax + 4]
lea ecx, [ebp - 0x11c]
call fcn.1003a3c0
mov ebx, dword [ebp - 0xfc]
lea ecx, [ebp - 0x11c]
push ecx
mov byte [ebp - 4], 0x4b
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x1014488c]
mov ecx, ebx
call edi
mov eax, dword [ebp - 0x108]
push 0x10
pop ebx
mov byte [ebp - 4], 0x24
cmp eax, ebx
jb 0x100a3e3b
inc eax
push eax
push dword [ebp - 0x11c]
call fcn.1003a3c0
pop ecx
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push 0xfe
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1009c944
mov ecx, dword [eax]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
lea ecx, [ebp - 0x9c]
call fcn.1009acd9
jmp 0x100a3a79
cmp eax, 0xd3
jne 0x100a4034
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
push 0x1014a0f1
lea ecx, [ebp - 0xf8]
call fcn.1003a3c0
push 0x1014a0f1
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x4c
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x4d
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x4e
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov edi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test edi, edi
je 0x100a3fb9
mov edi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push edi
call fcn.1003a3c0
push edi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x4f
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x50
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x51
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov edi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Device_ID_mismatch_found
push 0x1014a0f1
mov ecx, dword [edi + 0x24]
push eax
call dword [0x1014488c]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
mov eax, dword [ebp - 0xa0]
and dword [ebp - 0x10c], 0
and dword [ebp - 0x108], 0
pop ecx
push dword [eax + 4]
lea ecx, [ebp - 0x11c]
call fcn.1003a3c0
mov ebx, dword [ebp - 0xfc]
lea ecx, [ebp - 0x11c]
push ecx
mov byte [ebp - 4], 0x52
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x1014488c]
mov ecx, ebx
call edi
mov eax, dword [ebp - 0x108]
push 0x10
pop ebx
mov byte [ebp - 4], 0x24
cmp eax, ebx
jb 0x100a4024
inc eax
push eax
push dword [ebp - 0x11c]
call fcn.1003a3c0
pop ecx
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push 0xd3
jmp 0x100a3e46
cmp eax, 0xfd
jne 0x100a41f3
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
push 0x1014a0f1
lea ecx, [ebp - 0xf8]
call fcn.1003a3c0
push 0x1014a0f1
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x53
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x54
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x55
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov edi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test edi, edi
je 0x100a4178
mov edi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push edi
call fcn.1003a3c0
push edi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x56
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x57
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x58
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov edi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_NPDID_forbidden
push 0x1014a0f1
mov ecx, dword [edi + 0x24]
push eax
call dword [0x1014488c]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
mov eax, dword [ebp - 0xa0]
and dword [ebp - 0x10c], 0
and dword [ebp - 0x108], 0
pop ecx
push dword [eax + 4]
lea ecx, [ebp - 0x11c]
call fcn.1003a3c0
mov ebx, dword [ebp - 0xfc]
lea ecx, [ebp - 0x11c]
push ecx
mov byte [ebp - 4], 0x59
mov eax, dword [ebx]
mov edi, dword [eax + 4]
mov ecx, edi
call dword [0x1014488c]
mov ecx, ebx
call edi
mov eax, dword [ebp - 0x108]
push 0x10
pop ebx
mov byte [ebp - 4], 0x24
cmp eax, ebx
jb 0x100a41e3
inc eax
push eax
push dword [ebp - 0x11c]
call fcn.1003a3c0
pop ecx
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push 0xfd
jmp 0x100a3e46
cmp eax, 0x1f7
jne 0x100a434e
mov ebx, 0x101e2a68
push ebx
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
push 0x1014a0f1
lea ecx, [ebp - 0xf8]
call fcn.1003a3c0
push 0x1014a0f1
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x5a
call fcn.1003a3c0
push dword [edi + 8]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x5b
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x5c
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov edi, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test edi, edi
je 0x100a4337
mov edi, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push edi
call fcn.1003a3c0
push edi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x5d
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x5e
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x5f
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov edi, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Generic_failure
push 0x1014a0f1
mov ecx, dword [edi + 0x24]
push eax
call dword [0x1014488c]
call dword [edi + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push ebx
call sub.MSVCP140.dll__Mtx_unlock
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push 0x1f7
jmp 0x100a3a4c
mov edi, dword [ebp - 0x18]
sub esp, 0x18
mov ebx, esp
mov dword [ebp - 0xa8], esp
call fcn.10094144
add eax, 0x48
mov ecx, ebx
push eax
call fcn.1003a3c0
sub esp, 0x18
mov byte [ebp - 4], 0x68
mov ecx, edi
mov ebx, esp
call fcn.10034710
push eax
mov ecx, ebx
call fcn.1003a3c0
mov byte [ebp - 4], 0x24
call fcn.100e9452
add esp, 0x30
test al, al
jne 0x100a4876
push 0x101e2a68
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov ebx, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x69
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x6a
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x6b
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov ebx, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test ebx, ebx
je 0x100a44d3
mov ebx, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x6c
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x6d
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x6e
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov ebx, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_NPD_ID_mismatch_found
push 0x1014a0f1
mov ecx, dword [ebx + 0x24]
push eax
call dword [0x1014488c]
call dword [ebx + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push 0x101e2a68
call sub.MSVCP140.dll__Mtx_unlock
mov eax, dword [ebp - 0xa0]
and dword [ebp - 0x10c], 0
and dword [ebp - 0x108], 0
pop ecx
push dword [eax + 4]
lea ecx, [ebp - 0x11c]
call fcn.1003a3c0
mov eax, dword [ebp - 0xfc]
lea ecx, [ebp - 0x11c]
push ecx
mov byte [ebp - 4], 0x6f
mov eax, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [0x1014488c]
mov ecx, dword [ebp - 0xfc]
call ebx
lea ecx, [ebp - 0x11c]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push 9
lea eax, [ebp - 0x30]
push eax
push 0xfd
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1009c944
mov ecx, dword [eax]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
lea ecx, [ebp - 0x9c]
jmp 0x100a4f33
sub esp, 0x18
lea eax, [ebp - 0x80]
mov ecx, esp
mov dword [ebp - 0xa8], esp
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.1003a3c0
mov edi, dword [ebp - 0x18]
sub esp, 0x18
mov ecx, edi
mov byte [ebp - 4], 0x60
mov ebx, esp
call fcn.10014f0c
push eax
mov ecx, ebx
call fcn.1003a3c0
mov byte [ebp - 4], 0x24
call fcn.100e9452
add esp, 0x30
test al, al
jne 0x100a4351
push 0x101e2a68
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov ebx, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x61
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x62
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x63
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov ebx, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test ebx, ebx
je 0x100a46f0
mov ebx, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x64
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x65
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x66
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov ebx, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Device_ID_mismatch_found
push 0x1014a0f1
mov ecx, dword [ebx + 0x24]
push eax
call dword [0x1014488c]
call dword [ebx + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push 0x101e2a68
call sub.MSVCP140.dll__Mtx_unlock
mov eax, dword [ebp - 0xa0]
and dword [ebp - 0x10c], 0
and dword [ebp - 0x108], 0
pop ecx
push dword [eax + 4]
lea ecx, [ebp - 0x11c]
call fcn.1003a3c0
mov ebx, dword [ebp - 0xfc]
lea ecx, [ebp - 0x11c]
push ecx
mov byte [ebp - 4], 0x67
mov eax, dword [ebx]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [0x1014488c]
mov ecx, dword [ebp - 0xfc]
call ebx
mov eax, dword [ebp - 0x108]
push 0x10
pop ebx
mov byte [ebp - 4], 0x24
cmp eax, ebx
jb 0x100a4763
inc eax
push eax
push dword [ebp - 0x11c]
call fcn.1003a3c0
pop ecx
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push 0xd3
lea eax, [ebp - 0x9c]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1009c944
mov ecx, dword [eax]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
lea ecx, [ebp - 0x9c]
call fcn.1009acd9
mov eax, dword [ebp - 0x4c]
cmp eax, ebx
jb 0x100a47ab
inc eax
push eax
push dword [ebp - 0x60]
call fcn.1003a3c0
pop ecx
pop ecx
and dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x4c], 0xf
mov byte [ebp - 0x60], 0
cmp eax, ebx
jb 0x100a47cd
inc eax
push eax
push dword [ebp - 0x30]
call fcn.1003a3c0
pop ecx
pop ecx
mov dword [ebp - 0x1c], 0xf
and dword [ebp - 0x20], 0
mov byte [ebp - 0x30], 0
test edi, edi
je 0x100a47f4
mov ecx, edi
call fcn.1009c82f
push 0xf0
push edi
call fcn.1003a3c0
pop ecx
pop ecx
mov eax, dword [ebp - 0x34]
cmp eax, ebx
jb 0x100a4807
inc eax
push eax
push dword [ebp - 0x48]
call fcn.1003a3c0
pop ecx
pop ecx
mov dword [ebp - 0x34], 0xf
and dword [ebp - 0x38], 0
mov byte [ebp - 0x48], 0
test esi, esi
je 0x100a482e
mov ecx, esi
call fcn.1004d21f
push 0xf8
push esi
call fcn.1003a3c0
pop ecx
pop ecx
mov eax, dword [ebp - 0x6c]
cmp eax, ebx
jb 0x100a4841
inc eax
push eax
push dword [ebp - 0x80]
call fcn.1003a3c0
pop ecx
pop ecx
cmp dword [ebp - 0x14], 0
je 0x100a4852
push dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
call fcn.1003a3c0
mov esi, dword [ebp + 0xc]
test esi, esi
je 0x100a4f9c
mov ecx, esi
call fcn.1001d4fa
push 0xa0
push esi
call fcn.1003a3c0
pop ecx
pop ecx
jmp 0x100a4f9c
mov ecx, edi
call fcn.1004adb4
push edx
push eax
call fcn.10099c28
pop ecx
pop ecx
mov ecx, edi
mov dword [ebp - 0x9c], edx
mov ebx, eax
call fcn.1004ada7
sub eax, ebx
mov ecx, edi
mov ebx, edx
mov dword [ebp - 0x120], eax
sbb ebx, dword [ebp - 0x9c]
call fcn.1004adb4
add eax, dword [ebp - 0x120]
push pe_nt_image_headers32
adc edx, ebx
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x124], edx
call fcn.1003a3c0
pop ecx
mov dword [ebp - 0xa8], eax
mov byte [ebp - 4], 0x70
test eax, eax
je 0x100a4a91
cmp dword [ebp - 0x64], 3
jne 0x100a490b
push 0x1014a0f1
lea ecx, [ebp - 0xdc]
call fcn.1003a3c0
mov dword [ebp - 0x9c], eax
mov ebx, dword [ebp - 0x100]
mov byte [ebp - 4], 0x71
or ebx, 0x400
jmp 0x100a4937
mov ecx, edi
call fcn.10014f0c
push eax
lea ecx, [ebp - 0xc4]
call fcn.1003a3c0
mov dword [ebp - 0x9c], eax
mov ebx, dword [ebp - 0x100]
mov dword [ebp - 4], 0x72
or ebx, 0x800
and dword [ebp - 0x120], 0
lea eax, [ebp - 0x144]
push eax
mov ecx, edi
mov dword [ebp - 0xa4], ebx
call fcn.1003a3c0
mov dword [ebp - 0x12c], eax
lea eax, [ebp - 0x13c]
mov dword [ebp - 4], 0x73
or ebx, 0x1000
mov ecx, edi
push eax
mov dword [ebp - 0xa4], ebx
call fcn.1003a3c0
mov dword [ebp - 0x128], eax
lea eax, [ebp - 0x134]
mov dword [ebp - 4], 0x74
or ebx, 0x2000
mov ecx, esi
push eax
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0xa4], ebx
call fcn.10057143
mov ecx, eax
call fcn.1003a3c0
mov ebx, eax
mov eax, dword [ebp - 0x100]
or eax, 0x4000
mov dword [ebp - 4], 0x75
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xa4], eax
call fcn.100e1984
mov ecx, eax
call fcn.100e2b33
mov ecx, dword [eax + 0x94]
call fcn.100403fa
push eax
mov ecx, edi
call fcn.1004adb4
mov ecx, dword [ebp - 0x12c]
push edx
push eax
push dword [ebp - 0x9c]
mov ecx, dword [ecx]
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x64]
push eax
call fcn.1003e505
mov ecx, dword [ebp - 0x128]
push edx
push eax
mov ecx, dword [ecx]
call fcn.1003e50c
mov ecx, dword [ebx]
push edx
push eax
push dword [ebp - 0x124]
push dword [ebp - 0x104]
call fcn.1003e50c
push edx
push eax
mov ecx, edi
call fcn.1004adb4
push edx
push eax
call fcn.10099c28
pop ecx
pop ecx
push edx
push eax
mov ecx, edi
call fcn.100403fa
push eax
mov ecx, esi
call fcn.1005714a
push eax
mov ecx, esi
call fcn.1005716f
push eax
mov ecx, esi
call fcn.10015dc1
push eax
mov ecx, esi
call fcn.10015dcc
push eax
mov ecx, esi
call fcn.10015dc8
push eax
mov ecx, esi
call fcn.10015dd3
push eax
mov ecx, esi
call fcn.10015997
mov ecx, dword [ebp - 0xa8]
push eax
call fcn.100e520d
jmp 0x100a4a93
xor eax, eax
push eax
lea ecx, [ebp - 0x14]
call fcn.1003a3c0
mov ebx, dword [ebp - 0x100]
test ebx, 0x4000
je 0x100a4abf
mov ecx, dword [ebp - 0x130]
and ebx, 0xffffbfff
test ecx, ecx
je 0x100a4abf
call fcn.10033890
test ebx, 0x2000
je 0x100a4adc
mov ecx, dword [ebp - 0x138]
and ebx, 0xffffdfff
test ecx, ecx
je 0x100a4adc
call fcn.10033890
test ebx, 0x1000
je 0x100a4af9
mov ecx, dword [ebp - 0x140]
and ebx, 0xffffefff
test ecx, ecx
je 0x100a4af9
call fcn.10033890
test ebx, 0x800
je 0x100a4b12
lea ecx, [ebp - 0xc4]
and ebx, 0xfffff7ff
call fcn.1001524d
mov dword [ebp - 4], 0x24
test ebx, 0x400
je 0x100a4b2c
lea ecx, [ebp - 0xdc]
call fcn.1001524d
push ecx
push ecx
mov eax, esp
mov dword [ebp - 0xa8], esp
push esi
push eax
call fcn.1009c5d0
pop ecx
pop ecx
mov byte [ebp - 4], 0x7b
call fcn.100e1984
mov ecx, eax
call fcn.100e197f
mov ecx, eax
mov byte [ebp - 4], 0x24
call fcn.100c7022
mov ecx, edi
call fcn.1004ada7
test edx, edx
jl 0x100a4d5c
jg 0x100a4b73
test eax, eax
je 0x100a4d5c
push 0x1014a0f1
lea ecx, [ebp - 0xc4]
call fcn.1003a3c0
lea eax, [ebp - 0xdc]
mov byte [ebp - 4], 0x7c
push eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 4]
call fcn.1003a3c0
mov ebx, dword [ebp - 0xfc]
lea ecx, [ebp - 0x48]
push 1
push ecx
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x7d
mov ebx, dword [ebx]
push ecx
push eax
lea eax, [ebp - 0x60]
mov ecx, edi
push eax
call fcn.1004adb4
mov ecx, dword [ebx + 0xc]
push edx
push eax
call dword [0x1014488c]
mov ecx, dword [ebp - 0xfc]
call dword [ebx + 0xc]
mov ebx, eax
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0xa8], ebx
call fcn.1001524d
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test ebx, ebx
je 0x100a4da0
push 0x101e2a68
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov ebx, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x7e
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x7f
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x80
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov ebx, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test ebx, ebx
je 0x100a4d3a
mov ebx, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x81
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x82
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x83
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov ebx, dword [eax]
push str.ValidateAndGetLatestSP
push str._s_:_Failed_in_saving_ASNP
push 0x1014a0f1
mov ecx, dword [ebx + 0x24]
push eax
call dword [0x1014488c]
call dword [ebx + 0x24]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push 0x101e2a68
call sub.MSVCP140.dll__Mtx_unlock
pop ecx
push 9
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0xa8]
call fcn.1003a3c0
pop ecx
jmp 0x100a4f0d
lea eax, [ebp - 0xc4]
push eax
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax + 4]
call fcn.1003a3c0
push eax
mov eax, dword [ebp - 0xfc]
mov byte [ebp - 4], 0x84
mov eax, dword [eax]
mov ebx, dword [eax + 4]
mov ecx, ebx
call dword [0x1014488c]
mov ecx, dword [ebp - 0xfc]
call ebx
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x24
call fcn.1001524d
mov ecx, edi
call fcn.1004adc1
push eax
call fcn.1003a3c0
mov dword [ebp - 0x9c], eax
mov dword [esp], 0x101e2a68
call sub.MSVCP140.dll__Mtx_lock
push eax
call fcn.1003a3c0
pop ecx
pop ecx
mov ebx, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x85
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x86
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x87
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
lea ecx, [ebp - 0xc4]
mov ebx, eax
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
test ebx, ebx
je 0x100a4ef1
mov ebx, 0x1014a0f1
lea ecx, [ebp - 0xf8]
push ebx
call fcn.1003a3c0
push ebx
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x88
call fcn.1003a3c0
mov eax, dword [ebp - 0xa0]
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x89
push dword [eax + 8]
call fcn.1003a3c0
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 0x8a
push eax
lea eax, [ebp - 0xdc]
push eax
lea eax, [ebp - 0xc4]
push eax
call fcn.100e1c13
add esp, 0xc
mov ebx, dword [eax]
push dword [ebp - 0x9c]
push str.ValidateAndGetLatestSP
mov ecx, dword [ebx + 0x14]
push str._s:_success__returning__d
push eax
call dword [0x1014488c]
call dword [ebx + 0x14]
add esp, 0x10
lea ecx, [ebp - 0xc4]
call fcn.1001524d
lea ecx, [ebp - 0xdc]
call fcn.1001524d
lea ecx, [ebp - 0xf8]
mov byte [ebp - 4], 0x24
call fcn.1001524d
push 0x101e2a68
call sub.MSVCP140.dll__Mtx_unlock
pop ecx
push dword [ebp - 0x9c]
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
call fcn.10057151
push eax
lea eax, [ebp - 0xa8]
push eax
lea ecx, [ebp - 0xe0]
call fcn.1009c944
mov ecx, dword [eax]
and dword [eax], 0
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
lea ecx, [ebp - 0xa8]
call fcn.1009acd9
lea ecx, [ebp - 0x60]
call fcn.1001524d
lea ecx, [ebp - 0x30]
call fcn.1001524d
test edi, edi
je 0x100a4f55
push 1
mov ecx, edi
call fcn.1003a3c0
lea ecx, [ebp - 0x48]
call fcn.1001524d
test esi, esi
je 0x100a4f6a
push 1
mov ecx, esi
call fcn.1003a3c0
lea ecx, [ebp - 0x98]
call fcn.1001524d
lea ecx, [ebp - 0x80]
call fcn.1001524d
cmp dword [ebp - 0x14], 0
je 0x100a4f8e
push dword [ebp - 0x14]
lea ecx, [ebp - 0x14]
call fcn.1003a3c0
mov ecx, dword [ebp + 0xc]
test ecx, ecx
je 0x100a4f9c
push 1
call fcn.1003a3c0
mov eax, dword [ebp - 0xac]
call fcn.10110886
ret 8