Function at 0x100941d0
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100cf0dd
mov eax, dword fs:[0]
push eax
sub esp, 0x38
mov eax, dword [0x100e7380]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edx, edx
mov dword [ebp - 0x14], edx
call fcn.100c0c00
push 0x30
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
push str.55_8B_EC_81_EC_________53_56_57_8B_3D_________8A
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 0
movups xmmword [ebp - 0x34], xmm0
call fcn.100304b0
mov edx, 0x38450191
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x44]
call fcn.100584e0
mov edx, dword [eax + 8]
test edx, edx
je 0x10094248
mov edx, dword [edx + 0x50]
jmp 0x1009424a
xor edx, edx
mov eax, dword [eax]
test eax, eax
je 0x10094255
mov eax, dword [eax + 0x18]
jmp 0x10094257
xor eax, eax
lea ecx, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.10058910
add esp, 8
push 0x101ab3b0
push 0x1009d1d0
push dword [ebp - 0x18]
call fcn.100c0d40
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
cmp ecx, 0xf
jbe 0x100942b6
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x100942ac
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x100942ac
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c418a
add esp, 8
push 0x2e
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
push str.57_8B_F9_8B_07_8B_80_________FF_D0_84_C0_75_02
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 0
movups xmmword [ebp - 0x34], xmm0
call fcn.100304b0
mov edx, 0x6c5a4374
mov dword [ebp - 4], 1
lea ecx, [ebp - 0x44]
call fcn.100584e0
mov edx, dword [eax + 8]
test edx, edx
je 0x100942fa
mov edx, dword [edx + 0x50]
jmp 0x100942fc
xor edx, edx
mov eax, dword [eax]
test eax, eax
je 0x10094307
mov eax, dword [eax + 0x18]
jmp 0x10094309
xor eax, eax
lea ecx, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0x18]
call fcn.10058910
add esp, 8
push 0
push 0x10093b00
push dword [ebp - 0x18]
call fcn.100c0d40
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20]
cmp ecx, 0xf
jbe 0x10094365
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1009435b
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1009435b
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c418a
add esp, 8
push 0
call fcn.100c1160
push 0
push str.Valve001
call dword [sym.imp.USER32.dll_FindWindowA]
mov ecx, dword [0x10164694]
push 0x100c0940
push 0xfffffffffffffffc
push eax
call ecx
mov edi, dword [0x101a5c60]
mov dword [0x101a6790], eax
mov dword [0x101a6114], edi
mov eax, dword [edi]
mov dword [0x101a6118], eax
test eax, eax
je 0x100944bf
xor esi, esi
nop dword [eax + eax]
mov eax, dword [0x101a6118]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100943df
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100943df
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100943df
test eax, 0x100
jne 0x100943df
inc esi
jmp 0x100943b0
mov dword [0x101a6120], esi
test esi, esi
je 0x100944bf
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a611c
je 0x10094449
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a611c]
mov dword [0x101a611c], ecx
test eax, eax
je 0x10094449
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 2
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1009448a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 3
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a611c]
test esi, esi
je 0x100944bf
mov eax, dword [0x101a6120]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6118]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6124], 1
xor eax, eax
cmp byte [0x101a6124], al
setne al
add eax, 0x29
cmp dword [0x101a6118], 0
je 0x100944ef
mov ecx, dword [0x101a611c]
test ecx, ecx
je 0x100944ef
cmp eax, dword [0x101a6120]
ja 0x100944ef
mov dword [ecx + eax*4], 0x100a88c0
mov edi, dword [0x101a5c48]
mov dword [0x101a613c], edi
mov eax, dword [edi]
mov dword [0x101a6140], eax
test eax, eax
je 0x1009461f
xor esi, esi
nop dword [eax]
mov eax, dword [0x101a6140]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1009453f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1009453f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1009453f
test eax, 0x100
jne 0x1009453f
inc esi
jmp 0x10094510
mov dword [0x101a6148], esi
test esi, esi
je 0x1009461f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6144
je 0x100945a9
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6144]
mov dword [0x101a6144], ecx
test eax, eax
je 0x100945a9
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 4
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100945ea
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 5
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6144]
test esi, esi
je 0x1009461f
mov eax, dword [0x101a6148]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6140]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a614c], 1
xor eax, eax
cmp byte [0x101a614c], al
setne al
add eax, 5
cmp dword [0x101a6140], 0
je 0x1009464f
mov ecx, dword [0x101a6144]
test ecx, ecx
je 0x1009464f
cmp eax, dword [0x101a6148]
ja 0x1009464f
mov dword [ecx + eax*4], 0x1009cce0
xor eax, eax
cmp byte [0x101a614c], al
setne al
add eax, 6
cmp dword [0x101a6140], 0
je 0x1009467f
mov ecx, dword [0x101a6144]
test ecx, ecx
je 0x1009467f
cmp eax, dword [0x101a6148]
ja 0x1009467f
mov dword [ecx + eax*4], 0x1009cd90
xor eax, eax
cmp byte [0x101a614c], al
setne al
add eax, 7
cmp dword [0x101a6140], 0
je 0x100946af
mov ecx, dword [0x101a6144]
test ecx, ecx
je 0x100946af
cmp eax, dword [0x101a6148]
ja 0x100946af
mov dword [ecx + eax*4], 0x1009cdb0
xor eax, eax
cmp byte [0x101a614c], al
setne al
add eax, 0x24
cmp dword [0x101a6140], 0
je 0x100946df
mov ecx, dword [0x101a6144]
test ecx, ecx
je 0x100946df
cmp eax, dword [0x101a6148]
ja 0x100946df
mov dword [ecx + eax*4], 0x1009ce30
xor eax, eax
cmp byte [0x101a614c], al
setne al
add eax, 0x17
cmp dword [0x101a6140], 0
je 0x1009470f
mov ecx, dword [0x101a6144]
test ecx, ecx
je 0x1009470f
cmp eax, dword [0x101a6148]
ja 0x1009470f
mov dword [ecx + eax*4], 0x10093b10
mov edi, dword [0x101a5c50]
mov dword [0x101a6164], edi
mov eax, dword [edi]
mov dword [0x101a6168], eax
test eax, eax
je 0x1009483f
xor esi, esi
nop dword [eax]
mov eax, dword [0x101a6168]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1009475f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1009475f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1009475f
test eax, 0x100
jne 0x1009475f
inc esi
jmp 0x10094730
mov dword [0x101a6170], esi
test esi, esi
je 0x1009483f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a616c
je 0x100947c9
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a616c]
mov dword [0x101a616c], ecx
test eax, eax
je 0x100947c9
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 6
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1009480a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 7
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a616c]
test esi, esi
je 0x1009483f
mov eax, dword [0x101a6170]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6168]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6174], 1
xor eax, eax
cmp byte [0x101a6174], al
setne al
add eax, 0x1b
cmp dword [0x101a6168], 0
je 0x1009486f
mov ecx, dword [0x101a616c]
test ecx, ecx
je 0x1009486f
cmp eax, dword [0x101a6170]
ja 0x1009486f
mov dword [ecx + eax*4], 0x1009a3a0
xor eax, eax
cmp byte [0x101a6174], al
setne al
add eax, 0x5d
cmp dword [0x101a6168], 0
je 0x1009489f
mov ecx, dword [0x101a616c]
test ecx, ecx
je 0x1009489f
cmp eax, dword [0x101a6170]
ja 0x1009489f
mov dword [ecx + eax*4], 0x1009a500
xor eax, eax
cmp byte [0x101a6174], al
setne al
add eax, 0x5a
cmp dword [0x101a6168], 0
je 0x100948cf
mov ecx, dword [0x101a616c]
test ecx, ecx
je 0x100948cf
cmp eax, dword [0x101a6170]
ja 0x100948cf
mov dword [ecx + eax*4], 0x1009a730
mov edi, dword [0x101a5c68]
mov dword [0x101a618c], edi
mov eax, dword [edi]
mov dword [0x101a6190], eax
test eax, eax
je 0x100949ff
xor esi, esi
nop dword [eax]
mov eax, dword [0x101a6190]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1009491f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1009491f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1009491f
test eax, 0x100
jne 0x1009491f
inc esi
jmp 0x100948f0
mov dword [0x101a6198], esi
test esi, esi
je 0x100949ff
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6194
je 0x10094989
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6194]
mov dword [0x101a6194], ecx
test eax, eax
je 0x10094989
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 8
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100949ca
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 9
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6194]
test esi, esi
je 0x100949ff
mov eax, dword [0x101a6198]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6190]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a619c], 1
xor eax, eax
cmp byte [0x101a619c], al
setne al
add eax, 0xe
cmp dword [0x101a6190], 0
je 0x10094a2f
mov ecx, dword [0x101a6194]
test ecx, ecx
je 0x10094a2f
cmp eax, dword [0x101a6198]
ja 0x10094a2f
mov dword [ecx + eax*4], 0x100b2600
xor eax, eax
cmp byte [0x101a619c], al
setne al
add eax, 0x13
cmp dword [0x101a6190], 0
je 0x10094a5f
mov ecx, dword [0x101a6194]
test ecx, ecx
je 0x10094a5f
cmp eax, dword [0x101a6198]
ja 0x10094a5f
mov dword [ecx + eax*4], 0x100b2930
mov edi, dword [0x101a5cac]
mov dword [0x101a6128], edi
mov eax, dword [edi]
mov dword [0x101a612c], eax
test eax, eax
je 0x10094b8f
xor esi, esi
nop dword [eax]
mov eax, dword [0x101a612c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10094aaf
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10094aaf
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10094aaf
test eax, 0x100
jne 0x10094aaf
inc esi
jmp 0x10094a80
mov dword [0x101a6134], esi
test esi, esi
je 0x10094b8f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6130
je 0x10094b19
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6130]
mov dword [0x101a6130], ecx
test eax, eax
je 0x10094b19
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xa
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10094b5a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xb
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6130]
test esi, esi
je 0x10094b8f
mov eax, dword [0x101a6134]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a612c]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6138], 1
xor eax, eax
cmp byte [0x101a6138], al
setne al
add eax, 0x10
cmp dword [0x101a612c], 0
je 0x10094bbf
mov ecx, dword [0x101a6130]
test ecx, ecx
je 0x10094bbf
cmp eax, dword [0x101a6134]
ja 0x10094bbf
mov dword [ecx + eax*4], 0x100a8490
xor eax, eax
cmp byte [0x101a6138], al
setne al
add eax, 0x11
cmp dword [0x101a612c], 0
je 0x10094bef
mov ecx, dword [0x101a6130]
test ecx, ecx
je 0x10094bef
cmp eax, dword [0x101a6134]
ja 0x10094bef
mov dword [ecx + eax*4], 0x100a84a0
mov edx, dword [0x101a612c]
xor eax, eax
cmp byte [0x101a6138], al
mov ecx, edx
setne al
add eax, 0x12
test edx, edx
je 0x10094c2f
mov esi, dword [0x101a6130]
test esi, esi
je 0x10094c2f
cmp eax, dword [0x101a6134]
ja 0x10094c2f
mov dword [esi + eax*4], 0x100a84d0
mov ecx, dword [0x101a612c]
cmp dword [ecx + 0x48], 0
cmovne ecx, ecx
xor eax, eax
cmp byte [0x101a6138], al
setne al
add eax, 0x18
test ecx, ecx
je 0x10094c84
mov ecx, dword [0x101a6130]
test ecx, ecx
je 0x10094c84
cmp eax, dword [0x101a6134]
ja 0x10094c84
mov dword [ecx + eax*4], 0x100a8600
mov eax, dword [0x101a612c]
mov edx, dword [eax + 0x60]
neg edx
sbb edx, edx
add edx, 2
mov dword [ebp - 0x14], edx
test dl, 2
je 0x10094c77
and edx, 0xfffffffd
mov dword [ebp - 0x14], edx
test dl, 1
je 0x10094c87
and edx, 0xfffffffe
mov dword [ebp - 0x14], edx
jmp 0x10094c87
mov edx, dword [ebp - 0x14]
xor eax, eax
cmp byte [0x101a6138], al
setne al
add eax, 0x2c
cmp dword [0x101a612c], 0
je 0x10094ce8
mov ecx, dword [0x101a6130]
test ecx, ecx
je 0x10094ce8
cmp eax, dword [0x101a6134]
ja 0x10094ce8
mov dword [ecx + eax*4], 0x100a8890
mov eax, dword [0x101a612c]
cmp dword [eax + 0xb0], 0
je 0x10094cca
or edx, 4
jmp 0x10094ccd
or edx, 8
mov ecx, edx
and ecx, 0xfffffff7
test dl, 8
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x14], edx
test dl, 4
je 0x10094ce8
and edx, 0xfffffffb
mov dword [ebp - 0x14], edx
mov edi, dword [0x101a5c5c]
mov dword [0x101a61a0], edi
mov esi, dword [edi]
mov dword [0x101a61a4], esi
test esi, esi
je 0x10094e2a
xor eax, eax
mov ecx, dword [esi + eax*4]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x10094d45
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10094d3c
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10094d3c
test eax, 0x100
jne 0x10094d3c
mov eax, dword [ebp - 0x18]
mov esi, dword [0x101a61a4]
inc eax
jmp 0x10094d06
mov esi, dword [0x101a61a4]
mov eax, dword [ebp - 0x18]
mov dword [0x101a61ac], eax
test eax, eax
je 0x10094e2a
lea edx, [eax + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a61a8
je 0x10094dae
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a61a8]
mov dword [0x101a61a8], ecx
test eax, eax
je 0x10094dae
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xc
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10094def
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xd
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a61a8]
test esi, esi
je 0x10094e24
mov eax, dword [0x101a61ac]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a61a4]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a61b0], 1
mov esi, dword [0x101a61a4]
xor eax, eax
cmp byte [0x101a61b0], al
setne al
add eax, 0x43
test esi, esi
je 0x10094e8c
mov ecx, dword [0x101a61a8]
test ecx, ecx
je 0x10094e8c
mov edx, dword [ebp - 0x14]
cmp eax, dword [0x101a61ac]
ja 0x10094e8f
mov dword [ecx + eax*4], 0x100a5070
mov esi, dword [0x101a61a4]
cmp dword [esi + 0x10c], 0
je 0x10094e6c
or edx, 0x10
jmp 0x10094e6f
or edx, 0x20
mov ecx, edx
and ecx, 0xffffffdf
test dl, 0x20
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x14], edx
test dl, 0x10
je 0x10094e8f
and edx, 0xffffffef
mov dword [ebp - 0x14], edx
jmp 0x10094e8f
mov edx, dword [ebp - 0x14]
xor eax, eax
cmp byte [0x101a61b0], al
setne al
add eax, 0x52
test esi, esi
je 0x10094ef2
mov ecx, dword [0x101a61a8]
test ecx, ecx
je 0x10094ef2
cmp eax, dword [0x101a61ac]
ja 0x10094ef2
mov dword [ecx + eax*4], 0x100a50c0
mov esi, dword [0x101a61a4]
cmp dword [esi + 0x148], 0
je 0x10094ece
or edx, 0x40
jmp 0x10094ed4
or edx, 0x80
mov ecx, edx
and ecx, 0xffffff7f
test dl, 0x80
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x14], edx
test dl, 0x40
je 0x10094ef2
and edx, 0xffffffbf
mov dword [ebp - 0x14], edx
xor eax, eax
cmp byte [0x101a61b0], al
setne al
add eax, 0x74
test esi, esi
je 0x10094f60
mov ecx, dword [0x101a61a8]
test ecx, ecx
je 0x10094f60
cmp eax, dword [0x101a61ac]
ja 0x10094f60
mov dword [ecx + eax*4], 0x100a50e0
mov eax, dword [0x101a61a4]
cmp dword [eax + 0x1d0], 0
je 0x10094f33
or edx, 0x100
jmp 0x10094f39
or edx, 0x200
mov ecx, edx
and ecx, 0xfffffdff
test edx, 0x200
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x14], edx
test edx, 0x100
je 0x10094f60
and edx, 0xfffffeff
mov dword [ebp - 0x14], edx
mov edi, dword [0x101a5c7c]
mov dword [0x101a61f0], edi
mov eax, dword [edi]
mov dword [0x101a61f4], eax
test eax, eax
je 0x1009508f
xor esi, esi
nop dword [eax]
mov eax, dword [0x101a61f4]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10094faf
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10094faf
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10094faf
test eax, 0x100
jne 0x10094faf
inc esi
jmp 0x10094f80
mov dword [0x101a61fc], esi
test esi, esi
je 0x1009508f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a61f8
je 0x10095019
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a61f8]
mov dword [0x101a61f8], ecx
test eax, eax
je 0x10095019
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xe
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1009505a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0xf
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a61f8]
test esi, esi
je 0x1009508f
mov eax, dword [0x101a61fc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a61f4]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6200], 1
xor eax, eax
cmp byte [0x101a6200], al
setne al
add eax, 0x15
cmp dword [0x101a61f4], 0
je 0x100950fd
mov ecx, dword [0x101a61f8]
test ecx, ecx
je 0x100950fd
cmp eax, dword [0x101a61fc]
ja 0x100950fd
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax*4], 0x1008b5c0
mov eax, dword [0x101a61f4]
cmp dword [eax + 0x54], 0
je 0x100950d5
or edx, 0x400
jmp 0x100950db
or edx, 0x800
mov eax, edx
and eax, 0xfffff7ff
test edx, 0x800
cmove eax, edx
mov dword [ebp - 0x14], eax
test eax, 0x400
je 0x100950fd
and eax, 0xfffffbff
mov dword [ebp - 0x14], eax
mov edi, dword [0x101a5c74]
mov dword [0x101a61dc], edi
mov eax, dword [edi]
mov dword [0x101a61e0], eax
test eax, eax
je 0x1009522f
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x101a61e0]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1009514f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1009514f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1009514f
test eax, 0x100
jne 0x1009514f
inc esi
jmp 0x10095120
mov dword [0x101a61e8], esi
test esi, esi
je 0x1009522f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a61e4
je 0x100951b9
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a61e4]
mov dword [0x101a61e4], ecx
test eax, eax
je 0x100951b9
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x10
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100951fa
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x11
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a61e4]
test esi, esi
je 0x1009522f
mov eax, dword [0x101a61e8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a61e0]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a61ec], 1
xor eax, eax
cmp byte [0x101a61ec], al
setne al
add eax, 9
cmp dword [0x101a61e0], 0
je 0x1009529d
mov ecx, dword [0x101a61e4]
test ecx, ecx
je 0x1009529d
cmp eax, dword [0x101a61e8]
ja 0x1009529d
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax*4], 0x100b2ae0
mov eax, dword [0x101a61e0]
cmp dword [eax + 0x24], 0
je 0x10095275
or edx, 0x1000
jmp 0x1009527b
or edx, 0x2000
mov eax, edx
and eax, 0xffffdfff
test edx, 0x2000
cmove eax, edx
mov dword [ebp - 0x14], eax
test eax, 0x1000
je 0x1009529d
and eax, 0xffffefff
mov dword [ebp - 0x14], eax
mov edi, dword [0x101a5cd4]
mov dword [0x101a6204], edi
mov eax, dword [edi]
mov dword [0x101a6208], eax
test eax, eax
je 0x100953cf
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x101a6208]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x100952ef
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x100952ef
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x100952ef
test eax, 0x100
jne 0x100952ef
inc esi
jmp 0x100952c0
mov dword [0x101a6210], esi
test esi, esi
je 0x100953cf
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a620c
je 0x10095359
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a620c]
mov dword [0x101a620c], ecx
test eax, eax
je 0x10095359
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x12
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1009539a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x13
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a620c]
test esi, esi
je 0x100953cf
mov eax, dword [0x101a6210]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6208]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6214], 1
xor eax, eax
cmp byte [0x101a6214], al
setne al
add eax, 0x2b
cmp dword [0x101a6208], 0
je 0x10095440
mov ecx, dword [0x101a620c]
test ecx, ecx
je 0x10095440
cmp eax, dword [0x101a6210]
ja 0x10095440
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax*4], 0x100582a0
mov eax, dword [0x101a6208]
cmp dword [eax + 0xac], 0
je 0x10095418
or edx, 0x4000
jmp 0x1009541e
or edx, 0x8000
mov eax, edx
and eax, 0xffff7fff
test edx, 0x8000
cmove eax, edx
mov dword [ebp - 0x14], eax
test eax, 0x4000
je 0x10095440
and eax, 0xffffbfff
mov dword [ebp - 0x14], eax
mov edi, dword [0x101a5c78]
mov dword [0x101a6218], edi
mov esi, dword [edi]
mov dword [0x101a621c], esi
test esi, esi
je 0x10095582
xor eax, eax
mov ecx, dword [esi + eax*4]
mov dword [ebp - 0x18], eax
test ecx, ecx
je 0x1009549d
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10095494
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10095494
test eax, 0x100
jne 0x10095494
mov eax, dword [ebp - 0x18]
mov esi, dword [0x101a621c]
inc eax
jmp 0x1009545e
mov esi, dword [0x101a621c]
mov eax, dword [ebp - 0x18]
mov dword [0x101a6224], eax
test eax, eax
je 0x10095582
lea edx, [eax + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6220
je 0x10095506
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6220]
mov dword [0x101a6220], ecx
test eax, eax
je 0x10095506
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x14
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10095547
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x15
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6220]
test esi, esi
je 0x1009557c
mov eax, dword [0x101a6224]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a621c]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6228], 1
mov esi, dword [0x101a621c]
xor eax, eax
cmp byte [0x101a6228], al
setne al
add eax, 4
test esi, esi
je 0x100955f3
mov ecx, dword [0x101a6220]
test ecx, ecx
je 0x100955f3
mov edx, dword [ebp - 0x14]
cmp eax, dword [0x101a6224]
ja 0x100955f6
mov dword [ecx + eax*4], 0x100ae220
mov esi, dword [0x101a621c]
cmp dword [esi + 0x10], 0
je 0x100955c4
or edx, 0x10000
jmp 0x100955ca
or edx, 0x20000
mov ecx, edx
and ecx, 0xfffdffff
test edx, 0x20000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x14], edx
test edx, 0x10000
je 0x100955f6
and edx, 0xfffeffff
mov dword [ebp - 0x14], edx
jmp 0x100955f6
mov edx, dword [ebp - 0x14]
xor eax, eax
cmp byte [0x101a6228], al
setne al
add eax, 6
test esi, esi
je 0x10095662
mov ecx, dword [0x101a6220]
test ecx, ecx
je 0x10095662
cmp eax, dword [0x101a6224]
ja 0x10095662
mov dword [ecx + eax*4], 0x100ae3e0
mov esi, dword [0x101a621c]
cmp dword [esi + 0x18], 0
je 0x10095635
or edx, 0x40000
jmp 0x1009563b
or edx, 0x80000
mov ecx, edx
and ecx, 0xfff7ffff
test edx, 0x80000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x14], edx
test edx, 0x40000
je 0x10095662
and edx, 0xfffbffff
mov dword [ebp - 0x14], edx
xor eax, eax
cmp byte [0x101a6228], al
setne al
add eax, 0x27
test esi, esi
je 0x100956d1
mov ecx, dword [0x101a6220]
test ecx, ecx
je 0x100956d1
cmp eax, dword [0x101a6224]
ja 0x100956d1
mov dword [ecx + eax*4], 0x100ae3f0
mov esi, dword [0x101a621c]
cmp dword [esi + 0x9c], 0
je 0x100956a4
or edx, 0x100000
jmp 0x100956aa
or edx, 0x200000
mov ecx, edx
and ecx, 0xffdfffff
test edx, 0x200000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x14], edx
test edx, 0x100000
je 0x100956d1
and edx, 0xffefffff
mov dword [ebp - 0x14], edx
xor eax, eax
cmp byte [0x101a6228], al
setne al
add eax, 0x28
test esi, esi
je 0x1009573f
mov ecx, dword [0x101a6220]
test ecx, ecx
je 0x1009573f
cmp eax, dword [0x101a6224]
ja 0x1009573f
mov dword [ecx + eax*4], 0x100ae430
mov eax, dword [0x101a621c]
cmp dword [eax + 0xa0], 0
je 0x10095712
or edx, 0x400000
jmp 0x10095718
or edx, 0x800000
mov ecx, edx
and ecx, 0xff7fffff
test edx, 0x800000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x14], edx
test edx, 0x400000
je 0x1009573f
and edx, 0xffbfffff
mov dword [ebp - 0x14], edx
mov edi, dword [0x101a5c9c]
mov dword [0x101a622c], edi
mov eax, dword [edi]
mov dword [0x101a6230], eax
test eax, eax
je 0x1009586f
xor esi, esi
nop dword [eax]
mov eax, dword [0x101a6230]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1009578f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1009578f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1009578f
test eax, 0x100
jne 0x1009578f
inc esi
jmp 0x10095760
mov dword [0x101a6238], esi
test esi, esi
je 0x1009586f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6234
je 0x100957f9
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6234]
mov dword [0x101a6234], ecx
test eax, eax
je 0x100957f9
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x16
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1009583a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x17
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6234]
test esi, esi
je 0x1009586f
mov eax, dword [0x101a6238]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6230]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a623c], 1
xor eax, eax
cmp byte [0x101a623c], al
setne al
add eax, 0xd
cmp dword [0x101a6230], 0
je 0x100958dd
mov ecx, dword [0x101a6234]
test ecx, ecx
je 0x100958dd
cmp eax, dword [0x101a6238]
ja 0x100958dd
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax*4], 0x10057c70
mov eax, dword [0x101a6230]
cmp dword [eax + 0x34], 0
je 0x100958b5
or edx, 0x1000000
jmp 0x100958bb
or edx, 0x2000000
mov eax, edx
and eax, 0xfdffffff
test edx, 0x2000000
cmove eax, edx
mov dword [ebp - 0x14], eax
test eax, 0x1000000
je 0x100958dd
and eax, 0xfeffffff
mov dword [ebp - 0x14], eax
mov edi, dword [0x101a5c80]
mov dword [0x101a6240], edi
mov eax, dword [edi]
mov dword [0x101a6244], eax
test eax, eax
je 0x10095a0f
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x101a6244]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x1009592f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x1009592f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1009592f
test eax, 0x100
jne 0x1009592f
inc esi
jmp 0x10095900
mov dword [0x101a624c], esi
test esi, esi
je 0x10095a0f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6248
je 0x10095999
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6248]
mov dword [0x101a6248], ecx
test eax, eax
je 0x10095999
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x18
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x100959da
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x19
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6248]
test esi, esi
je 0x10095a0f
mov eax, dword [0x101a624c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6244]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6250], 1
xor eax, eax
cmp byte [0x101a6250], al
setne al
add eax, 0x15
cmp dword [0x101a6244], 0
je 0x10095a7d
mov ecx, dword [0x101a6248]
test ecx, ecx
je 0x10095a7d
cmp eax, dword [0x101a624c]
ja 0x10095a7d
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax*4], 0x10057f90
mov eax, dword [0x101a6244]
cmp dword [eax + 0x54], 0
je 0x10095a55
or edx, 0x4000000
jmp 0x10095a5b
or edx, 0x8000000
mov eax, edx
and eax, 0xf7ffffff
test edx, 0x8000000
cmove eax, edx
mov dword [ebp - 0x14], eax
test eax, 0x4000000
je 0x10095a7d
and eax, 0xfbffffff
mov dword [ebp - 0x14], eax
mov edi, dword [0x101a5dd8]
mov dword [0x101a6254], edi
mov eax, dword [edi]
mov dword [0x101a6258], eax
test eax, eax
je 0x10095baf
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x101a6258]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10095acf
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10095acf
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10095acf
test eax, 0x100
jne 0x10095acf
inc esi
jmp 0x10095aa0
mov dword [0x101a6260], esi
test esi, esi
je 0x10095baf
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a625c
je 0x10095b39
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a625c]
mov dword [0x101a625c], ecx
test eax, eax
je 0x10095b39
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x1a
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10095b7a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x1b
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a625c]
test esi, esi
je 0x10095baf
mov eax, dword [0x101a6260]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6258]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6264], 1
xor eax, eax
cmp byte [0x101a6264], al
setne al
add eax, 7
cmp dword [0x101a6258], 0
je 0x10095c1d
mov ecx, dword [0x101a625c]
test ecx, ecx
je 0x10095c1d
cmp eax, dword [0x101a6260]
ja 0x10095c1d
mov edx, dword [ebp - 0x14]
mov dword [ecx + eax*4], 0x100573c0
mov eax, dword [0x101a6258]
cmp dword [eax + 0x1c], 0
je 0x10095bf5
or edx, 0x10000000
jmp 0x10095bfb
or edx, 0x20000000
mov eax, edx
and eax, 0xdfffffff
test edx, 0x20000000
cmove eax, edx
mov dword [ebp - 0x14], eax
test eax, 0x10000000
je 0x10095c1d
and eax, 0xefffffff
mov dword [ebp - 0x14], eax
mov edi, dword [0x101a5ce8]
mov dword [0x101a6150], edi
mov eax, dword [edi]
mov dword [0x101a6154], eax
test eax, eax
je 0x10095d4f
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x101a6154]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10095c6f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10095c6f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10095c6f
test eax, 0x100
jne 0x10095c6f
inc esi
jmp 0x10095c40
mov dword [0x101a615c], esi
test esi, esi
je 0x10095d4f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6158
je 0x10095cd9
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6158]
mov dword [0x101a6158], ecx
test eax, eax
je 0x10095cd9
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x1c
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10095d1a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x1d
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6158]
test esi, esi
je 0x10095d4f
mov eax, dword [0x101a615c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6154]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6160], 1
mov edx, dword [0x101a6154]
xor eax, eax
cmp byte [0x101a6160], al
mov ecx, edx
setne al
add eax, 0x18
test edx, edx
je 0x10095da4
mov esi, dword [0x101a6158]
test esi, esi
je 0x10095da4
cmp eax, dword [0x101a615c]
ja 0x10095da4
mov edx, dword [ebp - 0x14]
mov dword [esi + eax*4], 0x100930d0
mov ecx, dword [0x101a6154]
cmp dword [ecx + 0x60], 0
je 0x10095d99
or edx, 0x40000000
jmp 0x10095d9f
or edx, 0x80000000
test edx, edx
cmovs ecx, ecx
xor eax, eax
cmp byte [0x101a6160], al
setne al
add eax, 0x24
test ecx, ecx
je 0x10095dcf
mov ecx, dword [0x101a6158]
test ecx, ecx
je 0x10095dcf
cmp eax, dword [0x101a615c]
ja 0x10095dcf
mov dword [ecx + eax*4], 0x10042260
push 0x100e73e8
call dword [0x101a5de8]
mov edi, dword [0x101a5d38]
mov dword [0x101a677c], edi
mov eax, dword [edi]
mov dword [0x101a6780], eax
test eax, eax
je 0x10095f0f
xor esi, esi
nop word [eax + eax]
mov eax, dword [0x101a6780]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10095e2f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10095e2f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10095e2f
test eax, 0x100
jne 0x10095e2f
inc esi
jmp 0x10095e00
mov dword [0x101a6788], esi
test esi, esi
je 0x10095f0f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6784
je 0x10095e99
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6784]
mov dword [0x101a6784], ecx
test eax, eax
je 0x10095e99
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x1e
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x10095eda
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x1f
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6784]
test esi, esi
je 0x10095f0f
mov eax, dword [0x101a6788]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a6780]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a678c], 1
xor eax, eax
cmp byte [0x101a678c], al
setne al
add eax, 0xd
cmp dword [0x101a6780], 0
je 0x10095f3f
mov ecx, dword [0x101a6784]
test ecx, ecx
je 0x10095f3f
cmp eax, dword [0x101a6788]
ja 0x10095f3f
mov dword [ecx + eax*4], 0x1008b240
mov edi, dword [0x101a5d3c]
mov dword [0x101a6268], edi
mov eax, dword [edi]
mov dword [0x101a626c], eax
test eax, eax
je 0x1009606f
xor esi, esi
nop dword [eax]
mov eax, dword [0x101a626c]
mov ecx, dword [eax + esi*4]
test ecx, ecx
je 0x10095f8f
mov eax, dword [0x10164690]
lea edx, [ebp - 0x38]
push 0x1c
push edx
push ecx
call eax
test eax, eax
je 0x10095f8f
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10095f8f
test eax, 0x100
jne 0x10095f8f
inc esi
jmp 0x10095f60
mov dword [0x101a6274], esi
test esi, esi
je 0x1009606f
lea edx, [esi + 1]
lea ecx, [ebp - 0x1c]
call fcn.10040d10
cmp eax, 0x101a6270
je 0x10095ff9
mov ecx, dword [eax]
mov dword [eax], 0
mov eax, dword [0x101a6270]
mov dword [0x101a6270], ecx
test eax, eax
je 0x10095ff9
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x20
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov eax, dword [esi]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
test eax, eax
je 0x1009603a
push 0x10024cf0
lea esi, [eax - 4]
mov dword [ebp - 4], 0x21
push dword [esi]
push 4
push eax
call fcn.100c3d56
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.100c3c6a
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x101a6270]
test esi, esi
je 0x1009606f
mov eax, dword [0x101a6274]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [0x101a626c]
add eax, 0xfffffffc
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov byte [0x101a6278], 1
xor eax, eax
cmp byte [0x101a6278], al
setne al
add eax, 0xd
cmp dword [0x101a626c], 0
je 0x1009609f
mov ecx, dword [0x101a6270]
test ecx, ecx
je 0x1009609f
cmp eax, dword [0x101a6274]
ja 0x1009609f
mov dword [ecx + eax*4], 0x1008b390
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], 0xf3c2c786
push eax
mov ecx, 0x101ab2a8
mov dword [ebp - 0x1c], 0x72e242a1
call fcn.10089c20
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.10089c00
movq xmm0, qword [eax]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
jne 0x100960e7
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x101a67ac], eax
mov dword [ecx + 0x20], 0x10092f50
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], 0x9ef0d03e
push eax
mov ecx, 0x101ab2a8
mov dword [ebp - 0x1c], 0x72e242a1
call fcn.10089c20
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.10089c00
movq xmm0, qword [eax]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
jne 0x1009612f
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x101a67b0], eax
mov dword [ecx + 0x20], 0x10092fb0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], 0x566bd764
push eax
mov ecx, 0x101ab2a8
mov dword [ebp - 0x1c], 0x2aafa737
call fcn.10089c20
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.10089c00
movq xmm0, qword [eax]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
jne 0x10096177
mov edx, dword [ebp - 0x40]
mov eax, dword [edx + 0x20]
mov dword [0x101a67b4], eax
mov dword [edx + 0x20], 0x100939f0
lea eax, [ebp - 0x1c]
mov dword [ebp - 0x14], 0x781aa1a4
push eax
mov ecx, 0x101ab2a8
mov dword [ebp - 0x1c], 0x2aafa737
call fcn.10089c20
lea ecx, [ebp - 0x14]
push ecx
mov ecx, eax
call fcn.10089c00
movq xmm0, qword [eax]
movq qword [ebp - 0x44], xmm0
cmp byte [ebp - 0x44], 0
jne 0x100961bf
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 0x20]
mov dword [0x101a67b8], eax
mov dword [ecx + 0x20], 0x100939d0
cmp byte [0x101ab3ac], 0
jne 0x10096291
push 0x29
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
push str.55_8B_EC_53_8B_5D_08_56_57_FF_75_18_8B_F1
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 0
movups xmmword [ebp - 0x34], xmm0
call fcn.100304b0
mov dword [ebp - 4], 0x22
mov eax, dword [0x101a5c14]
test eax, eax
je 0x10096205
mov edx, dword [eax + 0x50]
jmp 0x10096207
xor edx, edx
mov eax, dword [0x101a5c0c]
test eax, eax
je 0x10096215
mov eax, dword [eax + 0x18]
jmp 0x10096217
xor eax, eax
lea ecx, [ebp - 0x34]
push ecx
push eax
lea ecx, [ebp - 0x1c]
call fcn.10058910
mov edi, dword [ebp - 0x1c]
add esp, 8
mov ecx, dword [ebp - 0x20]
add edi, 0x7e
cmp ecx, 0xf
jbe 0x10096263
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x10096259
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x10096259
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.100c418a
add esp, 8
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x18]
push eax
push 0x40
push 1
push edi
mov dword [ebp - 0x18], 0
call esi
lea eax, [ebp - 0x18]
mov byte [edi], 0x3f
push eax
push dword [ebp - 0x18]
push 1
push edi
call esi
mov byte [0x101ab3ac], 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100c3c5c
mov esp, ebp
pop ebp
ret