Function at 0x10109740
Capabilities:
Allocate or change rwx memory
Execute shellcode via indirect call
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x101b4797
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x104cdec0]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x3c], esi
xor edx, edx
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x5c], edx
mov dword [ebp - 0x1c], edx
mov eax, dword [0x105d9d5c]
mov ecx, dword [0x105d9c1c]
push 0x1007ed60
push 0xfffffffffffffffc
push dword [eax + 8]
call ecx
mov dword [esi + 0xba4], eax
mov edi, dword [0x105d9cf8]
mov dword [esi], edi
mov eax, dword [edi]
mov dword [esi + 4], eax
test eax, eax
je 0x10109886
xor ecx, ecx
mov eax, dword [esi + 4]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x101097e5
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x101097e5
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x101097e5
test eax, 0x100
jne 0x101097e5
inc ecx
jmp 0x101097b2
mov dword [esi + 0xc], ecx
test ecx, ecx
je 0x10109886
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 8]
mov dword [ebp - 0x18], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1010984e
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 0
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x18]
mov esi, dword [esi]
test esi, esi
je 0x10109883
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 4]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x10], 1
jmp 0x10109886
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x10], al
setne al
add eax, 0x29
cmp dword [esi + 4], 0
je 0x101098d1
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x101098d1
cmp eax, dword [esi + 0xc]
ja 0x101098d1
mov dword [ecx + eax*4], 0x1012a9b0
mov eax, dword [esi + 4]
mov eax, dword [eax + 0xa4]
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x40], eax
test al, 2
je 0x101098c7
and eax, 0xfffffffd
mov dword [ebp - 0x40], eax
test al, 1
je 0x101098d1
and eax, 0xfffffffe
mov dword [ebp - 0x40], eax
mov edi, dword [0x105d9ce0]
mov dword [esi + 0x28], edi
mov eax, dword [edi]
mov dword [esi + 0x2c], eax
test eax, eax
je 0x101099bd
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010991c
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010991c
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010991c
test eax, 0x100
jne 0x1010991c
inc ecx
jmp 0x101098e9
mov dword [esi + 0x34], ecx
test ecx, ecx
je 0x101099bd
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x30]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10109985
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 1
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x101099ba
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x34]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x2c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x38], 1
jmp 0x101099bd
mov esi, dword [ebp - 0x3c]
mov edx, dword [esi + 0x2c]
xor ecx, ecx
cmp byte [esi + 0x38], cl
mov eax, edx
setne cl
add ecx, 5
test edx, edx
je 0x10109a17
mov edi, dword [esi + 0x30]
test edi, edi
je 0x10109a17
cmp ecx, dword [esi + 0x34]
ja 0x10109a17
mov dword [edi + ecx*4], 0x10118050
xor ecx, ecx
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x18], eax
cmp dword [eax + 0x14], ecx
sete cl
lea ecx, [ecx*4 + 4]
or ecx, dword [ebp - 0x40]
mov edx, ecx
and edx, 0xfffffff7
test cl, 8
cmove edx, ecx
mov dword [ebp - 0x40], edx
test dl, 4
je 0x10109a1a
and edx, 0xfffffffb
mov dword [ebp - 0x40], edx
jmp 0x10109a1a
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov edi, eax
cmp byte [esi + 0x38], cl
setne cl
add ecx, 6
test eax, eax
je 0x10109a74
mov edi, dword [esi + 0x30]
mov dword [ebp - 0x14], edi
mov edi, eax
cmp dword [ebp - 0x14], 0
je 0x10109a74
cmp ecx, dword [esi + 0x34]
ja 0x10109a74
mov eax, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0x10118030
mov edi, dword [esi + 0x2c]
cmp dword [edi + 0x18], 0
je 0x10109a56
or edx, 0x10
jmp 0x10109a59
or edx, 0x20
mov ecx, edx
and ecx, 0xffffffdf
test dl, 0x20
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test dl, 0x10
je 0x10109a74
and edx, 0xffffffef
mov dword [ebp - 0x40], edx
xor ecx, ecx
mov dword [ebp - 0x44], edi
cmp byte [esi + 0x38], cl
setne cl
add ecx, 7
test edi, edi
je 0x10109ad0
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x44], edi
test eax, eax
je 0x10109ad0
cmp ecx, dword [esi + 0x34]
ja 0x10109ad3
mov dword [eax + ecx*4], 0x10118110
mov edi, dword [esi + 0x2c]
cmp dword [edi + 0x1c], 0
je 0x10109aaa
or edx, 0x40
jmp 0x10109ab0
or edx, 0x80
mov ecx, edx
and ecx, 0xffffff7f
test dl, 0x80
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test dl, 0x40
je 0x10109ad3
and edx, 0xffffffbf
mov dword [ebp - 0x40], edx
jmp 0x10109ad3
mov edi, dword [ebp - 0x44]
xor ecx, ecx
mov eax, edi
cmp byte [esi + 0x38], cl
setne cl
add ecx, 0x24
test edi, edi
je 0x10109b48
mov eax, dword [esi + 0x30]
mov dword [ebp - 0x14], eax
mov eax, edi
cmp dword [ebp - 0x14], 0
je 0x10109b48
cmp ecx, dword [esi + 0x34]
ja 0x10109b48
mov eax, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0x10116500
mov eax, dword [esi + 0x2c]
mov dword [ebp - 0x14], eax
cmp dword [eax + 0x90], 0
je 0x10109b18
or edx, 0x100
jmp 0x10109b1e
or edx, 0x200
mov eax, dword [ebp - 0x14]
mov ecx, edx
and ecx, 0xfffffdff
test edx, 0x200
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x100
je 0x10109b48
and edx, 0xfffffeff
mov dword [ebp - 0x40], edx
xor ecx, ecx
cmp byte [esi + 0x38], cl
setne cl
add ecx, 0x17
test eax, eax
je 0x10109ba8
mov eax, dword [esi + 0x30]
test eax, eax
je 0x10109ba8
cmp ecx, dword [esi + 0x34]
ja 0x10109ba8
mov dword [eax + ecx*4], 0x10118210
mov eax, dword [esi + 0x2c]
cmp dword [eax + 0x5c], 0
je 0x10109b7b
or edx, 0x400
jmp 0x10109b81
or edx, 0x800
mov ecx, edx
and ecx, 0xfffff7ff
test edx, 0x800
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x400
je 0x10109ba8
and edx, 0xfffffbff
mov dword [ebp - 0x40], edx
mov edi, dword [0x105d9ce8]
mov dword [esi + 0x50], edi
mov eax, dword [edi]
mov dword [esi + 0x54], eax
test eax, eax
je 0x10109c94
xor ecx, ecx
mov eax, dword [esi + 0x54]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10109bf3
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x10109bf3
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10109bf3
test eax, 0x100
jne 0x10109bf3
inc ecx
jmp 0x10109bc0
mov dword [esi + 0x5c], ecx
test ecx, ecx
je 0x10109c94
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x58]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10109c5c
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 2
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x10109c91
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x5c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x54]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x60], 1
jmp 0x10109c94
mov esi, dword [ebp - 0x3c]
mov ecx, dword [esi + 0x54]
xor eax, eax
cmp byte [esi + 0x60], al
mov edi, ecx
setne al
add eax, 0x1b
test ecx, ecx
je 0x10109cfe
mov edx, dword [esi + 0x58]
test edx, edx
je 0x10109cfe
cmp eax, dword [esi + 0x5c]
ja 0x10109cfe
mov dword [edx + eax*4], 0x10115630
mov edi, dword [esi + 0x54]
mov edx, dword [ebp - 0x40]
cmp dword [edi + 0x6c], 0
je 0x10109ccf
or edx, 0x1000
jmp 0x10109cd5
or edx, 0x2000
mov ecx, edx
and ecx, 0xffffdfff
test edx, 0x2000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x1000
je 0x10109d01
and edx, 0xffffefff
mov dword [ebp - 0x40], edx
jmp 0x10109d01
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov eax, edi
cmp byte [esi + 0x60], cl
setne cl
add ecx, 0x5d
test edi, edi
je 0x10109d76
mov eax, dword [esi + 0x58]
mov dword [ebp - 0x14], eax
mov eax, edi
cmp dword [ebp - 0x14], 0
je 0x10109d76
cmp ecx, dword [esi + 0x5c]
ja 0x10109d76
mov eax, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0x101157d0
mov eax, dword [esi + 0x54]
mov dword [ebp - 0x14], eax
cmp dword [eax + 0x174], 0
je 0x10109d46
or edx, 0x4000
jmp 0x10109d4c
or edx, 0x8000
mov eax, dword [ebp - 0x14]
mov ecx, edx
and ecx, 0xffff7fff
test edx, 0x8000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x4000
je 0x10109d76
and edx, 0xffffbfff
mov dword [ebp - 0x40], edx
xor ecx, ecx
cmp byte [esi + 0x60], cl
setne cl
add ecx, 0x5a
test eax, eax
je 0x10109dd9
mov eax, dword [esi + 0x58]
test eax, eax
je 0x10109dd9
cmp ecx, dword [esi + 0x5c]
ja 0x10109dd9
mov dword [eax + ecx*4], 0x101159e0
mov eax, dword [esi + 0x54]
cmp dword [eax + 0x168], 0
je 0x10109dac
or edx, 0x10000
jmp 0x10109db2
or edx, 0x20000
mov ecx, edx
and ecx, 0xfffdffff
test edx, 0x20000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x10000
je 0x10109dd9
and edx, 0xfffeffff
mov dword [ebp - 0x40], edx
mov edi, dword [0x105d9d00]
mov dword [esi + 0x64], edi
mov eax, dword [edi]
mov dword [esi + 0x68], eax
test eax, eax
je 0x10109ec5
xor ecx, ecx
mov eax, dword [esi + 0x68]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10109e24
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x10109e24
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10109e24
test eax, 0x100
jne 0x10109e24
inc ecx
jmp 0x10109df1
mov dword [esi + 0x70], ecx
test ecx, ecx
je 0x10109ec5
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x6c]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x10109e8d
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 3
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x10109ec2
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x70]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x68]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x74], 1
jmp 0x10109ec5
mov esi, dword [ebp - 0x3c]
mov ecx, dword [esi + 0x68]
xor eax, eax
cmp byte [esi + 0x74], al
mov edi, ecx
setne al
add eax, 0xe
test ecx, ecx
je 0x10109f2f
mov edx, dword [esi + 0x6c]
test edx, edx
je 0x10109f2f
cmp eax, dword [esi + 0x70]
ja 0x10109f2f
mov dword [edx + eax*4], 0x101365a0
mov edi, dword [esi + 0x68]
mov edx, dword [ebp - 0x40]
cmp dword [edi + 0x38], 0
je 0x10109f00
or edx, 0x40000
jmp 0x10109f06
or edx, 0x80000
mov ecx, edx
and ecx, 0xfff7ffff
test edx, 0x80000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x40000
je 0x10109f32
and edx, 0xfffbffff
mov dword [ebp - 0x40], edx
jmp 0x10109f32
mov edx, dword [ebp - 0x40]
xor eax, eax
cmp byte [esi + 0x74], al
setne al
add eax, 0x13
test edi, edi
je 0x10109f92
mov ecx, dword [esi + 0x6c]
test ecx, ecx
je 0x10109f92
cmp eax, dword [esi + 0x70]
ja 0x10109f92
mov dword [ecx + eax*4], 0x101368b0
mov eax, dword [esi + 0x68]
cmp dword [eax + 0x4c], 0
je 0x10109f65
or edx, 0x100000
jmp 0x10109f6b
or edx, 0x200000
mov ecx, edx
and ecx, 0xffdfffff
test edx, 0x200000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x40], edx
test edx, 0x100000
je 0x10109f92
and edx, 0xffefffff
mov dword [ebp - 0x40], edx
mov edi, dword [0x105d9d40]
mov dword [esi + 0x14], edi
mov eax, dword [edi]
mov dword [esi + 0x18], eax
test eax, eax
je 0x1010a07e
xor ecx, ecx
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x10109fdd
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x10109fdd
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x10109fdd
test eax, 0x100
jne 0x10109fdd
inc ecx
jmp 0x10109faa
mov dword [esi + 0x20], ecx
test ecx, ecx
je 0x1010a07e
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x1c]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1010a046
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 4
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x1010a07b
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x20]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x18]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x24], 1
jmp 0x1010a07e
mov esi, dword [ebp - 0x3c]
mov edx, dword [esi + 0x18]
xor ecx, ecx
cmp byte [esi + 0x24], cl
mov eax, edx
setne cl
add ecx, 0x10
test edx, edx
je 0x1010a0e8
mov edi, dword [esi + 0x1c]
test edi, edi
je 0x1010a0e8
mov edx, dword [ebp - 0x40]
cmp ecx, dword [esi + 0x20]
ja 0x1010a0eb
mov dword [edi + ecx*4], 0x1012a430
mov eax, dword [esi + 0x18]
mov dword [ebp - 0x14], eax
cmp dword [eax + 0x40], 0
je 0x1010a0bc
or edx, 0x400000
jmp 0x1010a0c2
or edx, 0x800000
mov eax, dword [ebp - 0x14]
mov ecx, edx
and ecx, 0xff7fffff
test edx, 0x800000
cmove ecx, edx
mov edx, ecx
test edx, 0x400000
je 0x1010a0eb
and edx, 0xffbfffff
jmp 0x1010a0eb
mov edx, dword [ebp - 0x40]
xor ecx, ecx
mov edi, eax
cmp byte [esi + 0x24], cl
setne cl
add ecx, 0x11
test eax, eax
je 0x1010a151
mov edi, dword [esi + 0x1c]
mov dword [ebp - 0x14], edi
mov edi, eax
cmp dword [ebp - 0x14], 0
je 0x1010a151
cmp ecx, dword [esi + 0x20]
ja 0x1010a151
mov eax, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0x1012a320
mov edi, dword [esi + 0x18]
cmp dword [edi + 0x44], 0
je 0x1010a12a
or edx, 0x1000000
jmp 0x1010a130
or edx, 0x2000000
mov ecx, edx
and ecx, 0xfdffffff
test edx, 0x2000000
cmove ecx, edx
mov edx, ecx
test edx, 0x1000000
je 0x1010a151
and edx, 0xfeffffff
xor ecx, ecx
mov dword [ebp - 0x44], edi
cmp byte [esi + 0x24], cl
setne cl
add ecx, 0x12
test edi, edi
je 0x1010a1b3
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x44], edi
test eax, eax
je 0x1010a1b3
cmp ecx, dword [esi + 0x20]
ja 0x1010a1b6
mov dword [eax + ecx*4], 0x1012a2d0
mov edi, dword [esi + 0x18]
cmp dword [edi + 0x48], 0
je 0x1010a18a
or edx, 0x4000000
jmp 0x1010a190
or edx, 0x8000000
mov ecx, edx
and ecx, 0xf7ffffff
test edx, 0x8000000
cmove ecx, edx
mov edx, ecx
test edx, 0x4000000
je 0x1010a1b6
and edx, 0xfbffffff
jmp 0x1010a1b6
mov edi, dword [ebp - 0x44]
xor ecx, ecx
mov dword [ebp - 0x44], edi
cmp byte [esi + 0x24], cl
setne cl
add ecx, 0x18
test edi, edi
je 0x1010a211
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x44], edi
test eax, eax
je 0x1010a211
cmp ecx, dword [esi + 0x20]
ja 0x1010a214
mov dword [eax + ecx*4], 0x1012a1e0
mov edi, dword [esi + 0x18]
cmp dword [edi + 0x60], 0
je 0x1010a1ef
or edx, 0x10000000
jmp 0x1010a1f5
or edx, 0x20000000
mov ecx, edx
and ecx, 0xdfffffff
test edx, 0x20000000
cmove ecx, edx
test ecx, 0x10000000
cmovne edi, edi
jmp 0x1010a214
mov edi, dword [ebp - 0x44]
xor eax, eax
cmp byte [esi + 0x24], al
setne al
add eax, 0x2c
test edi, edi
je 0x1010a236
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x1010a236
cmp eax, dword [esi + 0x20]
ja 0x1010a236
mov dword [ecx + eax*4], 0x1012a2a0
mov edi, dword [0x105d9d7c]
mov dword [esi + 0x3c], edi
mov eax, dword [edi]
mov dword [esi + 0x40], eax
test eax, eax
je 0x1010a322
xor ecx, ecx
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010a281
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010a281
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010a281
test eax, 0x100
jne 0x1010a281
inc ecx
jmp 0x1010a24e
mov dword [esi + 0x48], ecx
test ecx, ecx
je 0x1010a322
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x44]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1010a2ea
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 5
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x1010a31f
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x48]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x40]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x4c], 1
jmp 0x1010a322
mov esi, dword [ebp - 0x3c]
mov edx, dword [esi + 0x40]
xor ecx, ecx
cmp byte [esi + 0x4c], cl
mov eax, edx
setne cl
add ecx, 5
test edx, edx
je 0x1010a371
mov edi, dword [esi + 0x44]
test edi, edi
je 0x1010a371
cmp ecx, dword [esi + 0x48]
ja 0x1010a371
mov dword [edi + ecx*4], 0x10108180
mov eax, dword [esi + 0x40]
mov edx, dword [eax + 0x14]
neg edx
sbb edx, edx
add edx, 2
mov dword [ebp - 0x5c], edx
test dl, 2
je 0x1010a364
and edx, 0xfffffffd
mov dword [ebp - 0x5c], edx
test dl, 1
je 0x1010a374
and edx, 0xfffffffe
mov dword [ebp - 0x5c], edx
jmp 0x1010a374
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov edi, eax
cmp byte [esi + 0x4c], cl
setne cl
add ecx, 6
test eax, eax
je 0x1010a3ce
mov edi, dword [esi + 0x44]
mov dword [ebp - 0x14], edi
mov edi, eax
cmp dword [ebp - 0x14], 0
je 0x1010a3ce
cmp ecx, dword [esi + 0x48]
ja 0x1010a3ce
mov eax, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0x10107d80
mov edi, dword [esi + 0x40]
cmp dword [edi + 0x18], 0
je 0x1010a3b0
or edx, 4
jmp 0x1010a3b3
or edx, 8
mov ecx, edx
and ecx, 0xfffffff7
test dl, 8
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x5c], edx
test dl, 4
je 0x1010a3ce
and edx, 0xfffffffb
mov dword [ebp - 0x5c], edx
xor ecx, ecx
mov eax, edi
cmp byte [esi + 0x4c], cl
setne cl
add ecx, 0x24
test edi, edi
je 0x1010a431
mov eax, dword [esi + 0x44]
mov dword [ebp - 0x14], eax
mov eax, edi
cmp dword [ebp - 0x14], 0
je 0x1010a431
cmp ecx, dword [esi + 0x48]
ja 0x1010a431
mov eax, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0x1003af70
mov eax, dword [esi + 0x40]
mov dword [ebp - 0x14], eax
cmp dword [eax + 0x90], 0
je 0x1010a410
or edx, 0x10
jmp 0x1010a413
or edx, 0x20
mov ecx, edx
and ecx, 0xffffffdf
test dl, 0x20
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x5c], edx
test dl, 0x10
je 0x1010a42e
and edx, 0xffffffef
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp byte [esi + 0x4c], cl
setne cl
add ecx, 0x18
test eax, eax
je 0x1010a485
mov eax, dword [esi + 0x44]
test eax, eax
je 0x1010a485
cmp ecx, dword [esi + 0x48]
ja 0x1010a485
mov dword [eax + ecx*4], 0x10108830
mov eax, dword [esi + 0x40]
cmp dword [eax + 0x60], 0
je 0x1010a461
or edx, 0x40
jmp 0x1010a467
or edx, 0x80
mov ecx, edx
and ecx, 0xffffff7f
test dl, 0x80
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x5c], edx
test dl, 0x40
je 0x1010a485
and edx, 0xffffffbf
mov dword [ebp - 0x5c], edx
mov edi, dword [0x105d9cf4]
mov dword [esi + 0x78], edi
mov eax, dword [edi]
mov dword [esi + 0x7c], eax
test eax, eax
je 0x1010a57d
xor ecx, ecx
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010a4d0
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010a4d0
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010a4d0
test eax, 0x100
jne 0x1010a4d0
inc ecx
jmp 0x1010a49d
mov dword [esi + 0x84], ecx
test ecx, ecx
je 0x1010a57d
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x80]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1010a53f
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 6
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x1010a57a
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x84]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x7c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x88], 1
jmp 0x1010a57d
mov esi, dword [ebp - 0x3c]
mov ecx, dword [esi + 0x7c]
xor eax, eax
cmp byte [esi + 0x88], al
mov edi, ecx
setne al
add eax, 0x43
test ecx, ecx
je 0x1010a5f3
mov edx, dword [esi + 0x80]
test edx, edx
je 0x1010a5f3
cmp eax, dword [esi + 0x84]
ja 0x1010a5f3
mov dword [edx + eax*4], 0x10124550
mov edi, dword [esi + 0x7c]
mov edx, dword [ebp - 0x5c]
cmp dword [edi + 0x10c], 0
je 0x1010a5c4
or edx, 0x100
jmp 0x1010a5ca
or edx, 0x200
mov ecx, edx
and ecx, 0xfffffdff
test edx, 0x200
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x5c], edx
test edx, 0x100
je 0x1010a5f6
and edx, 0xfffffeff
mov dword [ebp - 0x5c], edx
jmp 0x1010a5f6
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov eax, edi
cmp byte [esi + 0x88], cl
setne cl
add ecx, 0x52
test edi, edi
je 0x1010a674
mov eax, dword [esi + 0x80]
mov dword [ebp - 0x14], eax
mov eax, edi
cmp dword [ebp - 0x14], 0
je 0x1010a674
cmp ecx, dword [esi + 0x84]
ja 0x1010a674
mov eax, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0x101245e0
mov eax, dword [esi + 0x7c]
mov dword [ebp - 0x14], eax
cmp dword [eax + 0x148], 0
je 0x1010a644
or edx, 0x400
jmp 0x1010a64a
or edx, 0x800
mov ecx, edx
and ecx, 0xfffff7ff
test edx, 0x800
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x5c], edx
test edx, 0x400
je 0x1010a671
and edx, 0xfffffbff
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x14]
xor ecx, ecx
cmp byte [esi + 0x88], cl
setne cl
add ecx, 0x74
test eax, eax
je 0x1010a6e0
mov eax, dword [esi + 0x80]
test eax, eax
je 0x1010a6e0
cmp ecx, dword [esi + 0x84]
ja 0x1010a6e0
mov dword [eax + ecx*4], 0x101245b0
mov eax, dword [esi + 0x7c]
cmp dword [eax + 0x1d0], 0
je 0x1010a6b3
or edx, 0x1000
jmp 0x1010a6b9
or edx, 0x2000
mov ecx, edx
and ecx, 0xffffdfff
test edx, 0x2000
cmove ecx, edx
mov edx, ecx
mov dword [ebp - 0x5c], edx
test edx, 0x1000
je 0x1010a6e0
and edx, 0xffffefff
mov dword [ebp - 0x5c], edx
mov edi, dword [0x105d9d14]
mov dword [esi + 0xc8], edi
mov eax, dword [edi]
mov dword [esi + 0xcc], eax
test eax, eax
je 0x1010a7e4
xor ecx, ecx
mov eax, dword [esi + 0xcc]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010a734
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010a734
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010a734
test eax, 0x100
jne 0x1010a734
inc ecx
jmp 0x1010a6fe
mov dword [esi + 0xd4], ecx
test ecx, ecx
je 0x1010a7e4
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0xd0]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1010a7a3
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 7
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x1010a7e1
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xd4]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0xcc]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0xd8], 1
jmp 0x1010a7e4
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0xd8], al
setne al
add eax, 0x15
cmp dword [esi + 0xcc], 0
je 0x1010a853
mov ecx, dword [esi + 0xd0]
test ecx, ecx
je 0x1010a853
cmp eax, dword [esi + 0xd4]
ja 0x1010a853
mov edx, dword [ebp - 0x5c]
mov dword [ecx + eax*4], 0x100ee9f0
mov eax, dword [esi + 0xcc]
cmp dword [eax + 0x54], 0
je 0x1010a82b
or edx, 0x4000
jmp 0x1010a831
or edx, 0x8000
mov eax, edx
and eax, 0xffff7fff
test edx, 0x8000
cmove eax, edx
mov dword [ebp - 0x5c], eax
test eax, 0x4000
je 0x1010a853
and eax, 0xffffbfff
mov dword [ebp - 0x5c], eax
mov edi, dword [0x105d9d0c]
mov dword [esi + 0xb4], edi
mov eax, dword [edi]
mov dword [esi + 0xb8], eax
test eax, eax
je 0x1010a957
xor ecx, ecx
mov eax, dword [esi + 0xb8]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010a8a7
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010a8a7
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010a8a7
test eax, 0x100
jne 0x1010a8a7
inc ecx
jmp 0x1010a871
mov dword [esi + 0xc0], ecx
test ecx, ecx
je 0x1010a957
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0xbc]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1010a916
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 8
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x1010a954
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xc0]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0xb8]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0xc4], 1
jmp 0x1010a957
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0xc4], al
setne al
add eax, 9
cmp dword [esi + 0xb8], 0
je 0x1010a9c6
mov ecx, dword [esi + 0xbc]
test ecx, ecx
je 0x1010a9c6
cmp eax, dword [esi + 0xc0]
ja 0x1010a9c6
mov edx, dword [ebp - 0x5c]
mov dword [ecx + eax*4], 0x10136a20
mov eax, dword [esi + 0xb8]
cmp dword [eax + 0x24], 0
je 0x1010a99e
or edx, 0x10000
jmp 0x1010a9a4
or edx, 0x20000
mov eax, edx
and eax, 0xfffdffff
test edx, 0x20000
cmove eax, edx
mov dword [ebp - 0x5c], eax
test eax, 0x10000
je 0x1010a9c6
and eax, 0xfffeffff
mov dword [ebp - 0x5c], eax
mov edi, dword [0x105d9d68]
mov dword [esi + 0xdc], edi
mov eax, dword [edi]
mov dword [esi + 0xe0], eax
test eax, eax
je 0x1010aaca
xor ecx, ecx
mov eax, dword [esi + 0xe0]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010aa1a
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010aa1a
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010aa1a
test eax, 0x100
jne 0x1010aa1a
inc ecx
jmp 0x1010a9e4
mov dword [esi + 0xe8], ecx
test ecx, ecx
je 0x1010aaca
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0xe4]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1010aa89
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 9
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x1010aac7
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xe8]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0xe0]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0xec], 1
jmp 0x1010aaca
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0xec], al
setne al
add eax, 0x2b
cmp dword [esi + 0xe0], 0
je 0x1010ab3c
mov ecx, dword [esi + 0xe4]
test ecx, ecx
je 0x1010ab3c
cmp eax, dword [esi + 0xe8]
ja 0x1010ab3c
mov edx, dword [ebp - 0x5c]
mov dword [ecx + eax*4], 0x100d8e50
mov eax, dword [esi + 0xe0]
cmp dword [eax + 0xac], 0
je 0x1010ab14
or edx, 0x40000
jmp 0x1010ab1a
or edx, 0x80000
mov eax, edx
and eax, 0xfff7ffff
test edx, 0x80000
cmove eax, edx
mov dword [ebp - 0x5c], eax
test eax, 0x40000
je 0x1010ab3c
and eax, 0xfffbffff
mov dword [ebp - 0x5c], eax
mov edi, dword [0x105d9d10]
mov dword [esi + 0xf0], edi
mov eax, dword [edi]
mov dword [esi + 0xf4], eax
test eax, eax
je 0x1010ac40
xor ecx, ecx
mov eax, dword [esi + 0xf4]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010ab90
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010ab90
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010ab90
test eax, 0x100
jne 0x1010ab90
inc ecx
jmp 0x1010ab5a
mov dword [esi + 0xfc], ecx
test ecx, ecx
je 0x1010ac40
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0xf8]
mov dword [ebp - 0x44], ecx
push eax
call fcn.10034540
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x14], eax
test eax, eax
je 0x1010abff
push fcn.1001b3f0
push dword [eax - 4]
lea esi, [eax - 4]
mov dword [ebp - 4], 0xa
push 4
push eax
call fcn.101a38ee
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx - 4]
lea eax, [eax*4 + 4]
push eax
push esi
call fcn.101a3a41
add esp, 8
mov dword [ebp - 4], 0xffffffff
mov esi, dword [ebp - 0x44]
mov esi, dword [esi]
test esi, esi
je 0x1010ac3d
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0xfc]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0xf4]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x100], 1
jmp 0x1010ac40
mov esi, dword [ebp - 0x3c]
mov edx, dword [esi + 0xf4]
xor ecx, ecx
cmp byte [esi + 0x100], cl
mov eax, edx
setne cl
add ecx, 4
test edx, edx
je 0x1010acb9
mov edi, dword [esi + 0xf8]
test edi, edi
je 0x1010acb9
mov edx, dword [ebp - 0x5c]
cmp ecx, dword [esi + 0xfc]
ja 0x1010acbc
mov dword [edi + ecx*4], 0x10132310
mov eax, dword [esi + 0xf4]
mov dword [ebp - 0x14], eax
cmp dword [eax + 0x10], 0
je 0x1010ac8d
or edx, 0x100000
jmp 0x1010ac93
or edx, 0x200000
mov eax, dword [ebp - 0x14]
mov ecx, edx
and ecx, 0xffdfffff
test edx, 0x200000
cmove ecx, edx
mov edx, ecx
test edx, 0x100000
je 0x1010acbc
and edx, 0xffefffff
jmp 0x1010acbc
mov edx, dword [ebp - 0x5c]
xor ecx, ecx
mov edi, eax
cmp byte [esi + 0x100], cl
setne cl
add ecx, 6
test eax, eax
je 0x1010ad2e
mov edi, dword [esi + 0xf8]
mov dword [ebp - 0x14], edi
mov edi, eax
cmp dword [ebp - 0x14], 0
je 0x1010ad2e
cmp ecx, dword [esi + 0xfc]
ja 0x1010ad2e
mov eax, dword [ebp - 0x14]
mov dword [eax + ecx*4], 0x10132860
mov edi, dword [esi + 0xf4]
cmp dword [edi + 0x18], 0
je 0x1010ad07
or edx, 0x400000
jmp 0x1010ad0d
or edx, 0x800000
mov ecx, edx
and ecx, 0xff7fffff
test edx, 0x800000
cmove ecx, edx
mov edx, ecx
test edx, 0x400000
je 0x1010ad2e
and edx, 0xffbfffff
xor ecx, ecx
mov dword [ebp - 0x44], edi
cmp byte [esi + 0x100], cl
setne cl
add ecx, 0x27
test edi, edi
je 0x1010ad98
mov eax, dword [esi + 0xf8]
mov dword [ebp - 0x44], edi
test eax, eax
je 0x1010ad98
cmp ecx, dword [esi + 0xfc]
ja 0x1010ad9b
mov dword [eax + ecx*4], 0x10132650
mov edi, dword [esi + 0xf4]
cmp dword [edi + 0x9c], 0
je 0x1010ad76
or edx, 0x1000000
jmp 0x1010ad7c
or edx, 0x2000000
mov ecx, edx
and ecx, 0xfdffffff
test edx, 0x2000000
cmove ecx, edx
test ecx, 0x1000000
cmovne edi, edi
jmp 0x1010ad9b
mov edi, dword [ebp - 0x44]
xor eax, eax
cmp byte [esi + 0x100], al
setne al
add eax, 0x28
test edi, edi
je 0x1010adc6
mov ecx, dword [esi + 0xf8]
test ecx, ecx
je 0x1010adc6
cmp eax, dword [esi + 0xfc]
ja 0x1010adc6
mov dword [ecx + eax*4], 0x10132760
mov edi, dword [0x105d9d30]
mov dword [esi + 0x104], edi
mov eax, dword [edi]
mov dword [esi + 0x108], eax
test eax, eax
je 0x1010ae8a
xor ecx, ecx
mov eax, dword [esi + 0x108]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010ae1a
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010ae1a
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010ae1a
test eax, 0x100
jne 0x1010ae1a
inc ecx
jmp 0x1010ade4
mov dword [esi + 0x110], ecx
test ecx, ecx
je 0x1010ae8a
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x10c]
push eax
call fcn.10034540
lea ecx, [ebp - 0x18]
call fcn.100f1c60
mov esi, dword [esi + 0x10c]
test esi, esi
je 0x1010ae87
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x110]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x108]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x114], 1
jmp 0x1010ae8a
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x114], al
setne al
add eax, 0xd
cmp dword [esi + 0x108], 0
je 0x1010aeba
mov ecx, dword [esi + 0x10c]
test ecx, ecx
je 0x1010aeba
cmp eax, dword [esi + 0x110]
ja 0x1010aeba
mov dword [ecx + eax*4], 0x100d6510
mov edi, dword [0x105d9d18]
mov dword [esi + 0x118], edi
mov eax, dword [edi]
mov dword [esi + 0x11c], eax
test eax, eax
je 0x1010af7e
xor ecx, ecx
mov eax, dword [esi + 0x11c]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010af0e
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010af0e
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010af0e
test eax, 0x100
jne 0x1010af0e
inc ecx
jmp 0x1010aed8
mov dword [esi + 0x124], ecx
test ecx, ecx
je 0x1010af7e
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x120]
push eax
call fcn.10034540
lea ecx, [ebp - 0x18]
call fcn.100f1c60
mov esi, dword [esi + 0x120]
test esi, esi
je 0x1010af7b
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x124]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x11c]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x128], 1
jmp 0x1010af7e
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x128], al
setne al
add eax, 0x15
cmp dword [esi + 0x11c], 0
je 0x1010afae
mov ecx, dword [esi + 0x120]
test ecx, ecx
je 0x1010afae
cmp eax, dword [esi + 0x124]
ja 0x1010afae
mov dword [ecx + eax*4], 0x100d6a20
mov edi, dword [0x105d9eb4]
mov dword [esi + 0x12c], edi
mov eax, dword [edi]
mov dword [esi + 0x130], eax
test eax, eax
je 0x1010b072
xor ecx, ecx
mov eax, dword [esi + 0x130]
mov dword [ebp - 0x44], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010b002
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x44]
test eax, eax
je 0x1010b002
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010b002
test eax, 0x100
jne 0x1010b002
inc ecx
jmp 0x1010afcc
mov dword [esi + 0x138], ecx
test ecx, ecx
je 0x1010b072
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x134]
push eax
call fcn.10034540
lea ecx, [ebp - 0x18]
call fcn.100f1c60
mov esi, dword [esi + 0x134]
test esi, esi
je 0x1010b06f
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x138]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x130]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x13c], 1
jmp 0x1010b072
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x13c], al
setne al
add eax, 7
cmp dword [esi + 0x130], 0
je 0x1010b0c9
mov ecx, dword [esi + 0x134]
test ecx, ecx
je 0x1010b0c9
cmp eax, dword [esi + 0x138]
ja 0x1010b0c9
mov dword [ecx + eax*4], 0x1004a8f0
mov eax, dword [esi + 0x130]
mov eax, dword [eax + 0x1c]
neg eax
sbb eax, eax
add eax, 2
mov dword [ebp - 0x1c], eax
test al, 2
je 0x1010b0bf
and eax, 0xfffffffd
mov dword [ebp - 0x1c], eax
test al, 1
je 0x1010b0c9
and eax, 0xfffffffe
mov dword [ebp - 0x1c], eax
push 0x17
xorps xmm0, xmm0
mov dword [ebp - 0x48], 0
push str.55_8B_EC_83_E4_F0_B8_D8
lea ecx, [ebp - 0x58]
mov dword [ebp - 0x44], 0
movups xmmword [ebp - 0x58], xmm0
call fcn.10018360
mov eax, dword [0x105d9c7c]
mov dword [ebp - 4], 0xb
test eax, eax
je 0x1010b102
mov edx, dword [eax + 0x50]
jmp 0x1010b104
xor edx, edx
mov eax, dword [0x105d9c74]
mov edi, dword [ebp - 0x1c]
test eax, eax
je 0x1010b11b
mov eax, dword [eax + 0x18]
or edi, 4
mov dword [ebp - 0x14], eax
jmp 0x1010b125
or edi, 8
mov dword [ebp - 0x14], 0
mov eax, edi
mov ecx, edi
and ecx, 0xfffffff7
test al, 8
lea eax, [ebp - 0x58]
cmove ecx, edi
push eax
push edx
push dword [ebp - 0x14]
mov edi, ecx
lea eax, [ebp - 0x18]
and edi, 0xfffffffb
test cl, 4
push eax
cmove edi, ecx
call fcn.100289d0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x58]
call fcn.1001ae90
push 0x10108710
push dword [ebp - 0x18]
call fcn.100010f0
push 0x2d
xorps xmm0, xmm0
mov dword [esi + 0xbb4], eax
push str.57_8B_F9_8B_07_8B___________FF_D0_84_C0_75_02
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov edx, dword [0x105d9c7c]
mov dword [ebp - 4], 0xc
test edx, edx
je 0x1010b1ac
mov edx, dword [edx + 0x50]
jmp 0x1010b1ae
xor edx, edx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010b1c2
mov eax, dword [eax + 0x18]
or edi, 0x10
mov dword [ebp - 0x14], eax
jmp 0x1010b1cc
or edi, 0x20
mov dword [ebp - 0x14], 0
mov eax, edi
mov ecx, edi
and ecx, 0xffffffdf
test al, 0x20
cmove ecx, edi
mov edi, ecx
and edi, 0xffffffef
test cl, 0x10
mov eax, edi
mov dword [ebp - 0x44], edi
cmove eax, ecx
mov dword [ebp - 0x44], eax
lea eax, [ebp - 0x34]
push eax
push edx
push dword [ebp - 0x14]
lea eax, [ebp - 0x18]
push eax
call fcn.100289d0
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x10108820
push dword [ebp - 0x18]
call fcn.100010f0
push 0x103ab238
call dword [0x105d9ec4]
mov edi, dword [0x105d9ecc]
mov dword [esi + 0x154], edi
mov eax, dword [edi]
mov dword [esi + 0x158], eax
test eax, eax
je 0x1010b2ea
xor ecx, ecx
mov eax, dword [esi + 0x158]
mov dword [ebp - 0x1c], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010b27a
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x1c]
test eax, eax
je 0x1010b27a
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010b27a
test eax, 0x100
jne 0x1010b27a
inc ecx
jmp 0x1010b244
mov dword [esi + 0x160], ecx
test ecx, ecx
je 0x1010b2ea
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x15c]
push eax
call fcn.10034540
lea ecx, [ebp - 0x18]
call fcn.100f1c60
mov esi, dword [esi + 0x15c]
test esi, esi
je 0x1010b2e7
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x160]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x158]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x164], 1
jmp 0x1010b2ea
mov esi, dword [ebp - 0x3c]
mov ecx, dword [esi + 0x158]
xor eax, eax
cmp byte [esi + 0x164], al
mov edi, ecx
setne al
add eax, 0x11
test ecx, ecx
je 0x1010b355
mov edx, dword [esi + 0x15c]
test edx, edx
je 0x1010b355
cmp eax, dword [esi + 0x160]
ja 0x1010b355
mov ecx, dword [ebp - 0x44]
mov dword [edx + eax*4], 0x1006f860
mov eax, ecx
mov edi, dword [esi + 0x158]
or ecx, 0x80
or eax, 0x40
cmp dword [edi + 0x44], 0
cmovne ecx, eax
mov dword [ebp - 0x44], ecx
mov dl, cl
mov eax, dword [ebp - 0x44]
and cl, 0x7f
test dl, 0x80
movzx ecx, cl
movzx eax, al
cmove ecx, eax
test cl, 0x40
cmovne edi, edi
xor eax, eax
cmp byte [esi + 0x164], al
setne al
add eax, 0x10
test edi, edi
je 0x1010b380
mov ecx, dword [esi + 0x15c]
test ecx, ecx
je 0x1010b380
cmp eax, dword [esi + 0x160]
ja 0x1010b380
mov dword [ecx + eax*4], 0x1006fa70
mov edi, dword [0x105d9e28]
mov dword [esi + 0x140], edi
mov eax, dword [edi]
mov dword [esi + 0x144], eax
test eax, eax
je 0x1010b444
xor ecx, ecx
mov eax, dword [esi + 0x144]
mov dword [ebp - 0x1c], ecx
mov edx, dword [eax + ecx*4]
test edx, edx
je 0x1010b3d4
mov eax, dword [0x105d9c18]
lea ecx, [ebp - 0x38]
push 0x1c
push ecx
push edx
call eax
mov ecx, dword [ebp - 0x1c]
test eax, eax
je 0x1010b3d4
mov eax, dword [ebp - 0x24]
test al, 1
jne 0x1010b3d4
test eax, 0x100
jne 0x1010b3d4
inc ecx
jmp 0x1010b39e
mov dword [esi + 0x14c], ecx
test ecx, ecx
je 0x1010b444
lea eax, [ecx + 1]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.100352e0
add esp, 8
lea ecx, [esi + 0x148]
push eax
call fcn.10034540
lea ecx, [ebp - 0x18]
call fcn.100f1c60
mov esi, dword [esi + 0x148]
test esi, esi
je 0x1010b441
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx + 0x14c]
lea eax, [eax*4 + 4]
push eax
mov eax, dword [ecx + 0x144]
sub eax, 4
push eax
push esi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add esi, 4
mov dword [edi], esi
mov esi, dword [ebp - 0x3c]
mov byte [esi + 0x150], 1
jmp 0x1010b444
mov esi, dword [ebp - 0x3c]
xor eax, eax
cmp byte [esi + 0x150], al
setne al
add eax, 0xd
cmp dword [esi + 0x144], 0
je 0x1010b474
mov ecx, dword [esi + 0x148]
test ecx, ecx
je 0x1010b474
cmp eax, dword [esi + 0x14c]
ja 0x1010b474
mov dword [ecx + eax*4], 0x100ee9e0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0xf3c2c786
push eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x18], 0x72e242a1
push eax
mov ecx, 0x105d9f78
call fcn.100d9680
mov ecx, dword [eax]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x60]
add ecx, 0xc
push eax
call fcn.100d9480
mov eax, dword [eax]
movq xmm0, qword [eax + 0xc]
mov eax, dword [eax + 0x14]
movq qword [ebp - 0x4c], xmm0
cmp byte [ebp - 0x4c], 0
mov dword [ebp - 0x44], eax
jne 0x1010b4d1
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + 0x20]
mov dword [esi + 0xbd4], eax
mov dword [ecx + 0x20], 0x101083c0
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0xefc082a3
push eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x18], 0x72e242a1
push eax
mov ecx, 0x105d9f78
call fcn.100d9680
mov ecx, dword [eax]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x60]
add ecx, 0xc
push eax
call fcn.100d9480
mov eax, dword [eax]
movq xmm0, qword [eax + 0xc]
mov eax, dword [eax + 0x14]
movq qword [ebp - 0x4c], xmm0
cmp byte [ebp - 0x4c], 0
mov dword [ebp - 0x44], eax
jne 0x1010b52e
mov edx, dword [ebp - 0x48]
mov eax, dword [edx + 0x20]
mov dword [esi + 0xbd8], eax
mov dword [edx + 0x20], 0x10109200
lea eax, [ebp - 0x18]
mov dword [ebp - 0x1c], 0x566bd764
push eax
lea eax, [ebp - 0x48]
mov dword [ebp - 0x18], 0x2aafa737
push eax
mov ecx, 0x105d9f78
call fcn.100d9680
mov ecx, dword [eax]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x60]
add ecx, 0xc
push eax
call fcn.100d9480
mov eax, dword [eax]
movq xmm0, qword [eax + 0xc]
movq qword [ebp - 0x4c], xmm0
cmp byte [ebp - 0x4c], 0
jne 0x1010b585
mov ecx, dword [ebp - 0x48]
mov eax, dword [ecx + 0x20]
mov dword [esi + 0xbe0], eax
mov dword [ecx + 0x20], 0x100f2430
mov eax, dword [0x105db0c8]
test al, 1
jne 0x1010b621
or eax, 1
mov dword [0x105db0c8], eax
push 0xc4
xorps xmm0, xmm0
mov dword [ebp - 4], 0xd
push str.55_8B_EC_56_8B_F1_8B_86_________85_C0_74_24_48_83_F8_02_77_2C_83_BE___________8D_8E_________74_06_32_C0_84_C0_EB_10_E8_________84_C0_EB_07_83_BE___________0F_94_C0_84_C0_74_07_B0_01_5E_5D_C2_0C_00
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c94]
mov byte [ebp - 4], 0xe
test ecx, ecx
je 0x1010b5db
mov ecx, dword [ecx + 0x50]
jmp 0x1010b5dd
xor ecx, ecx
mov eax, dword [0x105d9c8c]
test eax, eax
je 0x1010b5eb
mov eax, dword [eax + 0x18]
jmp 0x1010b5ed
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0c4
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba280
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, 2
jne 0x1010b6b5
or eax, 2
mov dword [0x105db0c8], eax
push 0x20
xorps xmm0, xmm0
mov dword [ebp - 4], 0xf
push str.55_8B_EC_53_8B_D9_56_57_8B_53_5C
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x10
test ecx, ecx
je 0x1010b66f
mov ecx, dword [ecx + 0x50]
jmp 0x1010b671
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010b67f
mov eax, dword [eax + 0x18]
jmp 0x1010b681
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0cc
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba290
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, 4
jne 0x1010b749
or eax, 4
mov dword [0x105db0c8], eax
push 0x23
xorps xmm0, xmm0
mov dword [ebp - 4], 0x11
push str.55_8B_EC_53_8B_5D_08_56_57_FF_75_18
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x12
test ecx, ecx
je 0x1010b703
mov ecx, dword [ecx + 0x50]
jmp 0x1010b705
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010b713
mov eax, dword [eax + 0x18]
jmp 0x1010b715
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0d0
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba210
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, 8
jne 0x1010b7dd
or eax, 8
mov dword [0x105db0c8], eax
push 0x3b
xorps xmm0, xmm0
mov dword [ebp - 4], 0x13
push str.55_8B_EC_83_EC_08_53_8B_1D_________56_57_83_BB___________74
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x14
test ecx, ecx
je 0x1010b797
mov ecx, dword [ecx + 0x50]
jmp 0x1010b799
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010b7a7
mov eax, dword [eax + 0x18]
jmp 0x1010b7a9
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0d4
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba160
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, 0x10
jne 0x1010b84f
or eax, 0x10
mov dword [0x105db0c8], eax
push 0x7c
xorps xmm0, xmm0
mov dword [ebp - 4], 0x15
push str.56_8B_F1_8B_8E_________83_F9___74___0F_B7_C1_C1_E0___05_________C1_E9___39_48___75___8B_08_85_C9_74___8B_01_FF_90_________A1
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x16
push eax
push 0x105d9c74
push 0x105db0d8
call fcn.100dc6a0
add esp, 0xc
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba270
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, 0x20
jne 0x1010b8c1
or eax, 0x20
mov dword [0x105db0c8], eax
push 0x20
xorps xmm0, xmm0
mov dword [ebp - 4], 0x17
push str.55_8B_EC_51_80_____________0F_57
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
lea eax, [ebp - 0x34]
mov byte [ebp - 4], 0x18
push eax
push 0x105d9c74
push 0x105db0dc
call fcn.100dc6a0
add esp, 0xc
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba260
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test al, 0x40
jne 0x1010b8fa
or eax, 0x40
mov dword [0x105db0c8], eax
mov ecx, dword [0x105d9ce8]
mov dword [ebp - 4], 0x19
mov eax, dword [ecx]
mov eax, dword [eax + 0xac]
call eax
mov dword [ebp - 4], 0xffffffff
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov dword [0x105db0e0], eax
mov eax, dword [0x105db0c8]
test al, al
js 0x1010b990
or eax, 0x80
mov dword [0x105db0c8], eax
push 0x1f
xorps xmm0, xmm0
mov dword [ebp - 4], 0x1a
push str.55_8B_EC_83_EC___56_8B_F1_8A_46
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9cb8]
mov byte [ebp - 4], 0x1b
test ecx, ecx
je 0x1010b94a
mov ecx, dword [ecx + 0x50]
jmp 0x1010b94c
xor ecx, ecx
mov eax, dword [0x105d9cb0]
test eax, eax
je 0x1010b95a
mov eax, dword [eax + 0x18]
jmp 0x1010b95c
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0e4
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba250
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test eax, 0x100
jne 0x1010ba29
or eax, 0x100
mov dword [0x105db0c8], eax
push 0x32
xorps xmm0, xmm0
mov dword [ebp - 4], 0x1c
push str.55_8B_EC_83_E4_F8_83_EC_58_56_57_8B_F9_83_7F_60_00
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x1d
test ecx, ecx
je 0x1010b9e3
mov ecx, dword [ecx + 0x50]
jmp 0x1010b9e5
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010b9f3
mov eax, dword [eax + 0x18]
jmp 0x1010b9f5
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0e8
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba180
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test eax, 0x200
jne 0x1010bac2
or eax, 0x200
mov dword [0x105db0c8], eax
push 0x26
xorps xmm0, xmm0
mov dword [ebp - 4], 0x1e
push str.55_8B_EC_51_53_8B_5D_08_56_8B_F1_57_85
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x1f
test ecx, ecx
je 0x1010ba7c
mov ecx, dword [ecx + 0x50]
jmp 0x1010ba7e
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010ba8c
mov eax, dword [eax + 0x18]
jmp 0x1010ba8e
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0ec
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba170
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test eax, 0x400
jne 0x1010bb5b
or eax, 0x400
mov dword [0x105db0c8], eax
push 0x29
xorps xmm0, xmm0
mov dword [ebp - 4], 0x20
push str.55_8B_EC_83_E4_F8_83_EC_18_56_57_8B_F9_F3
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x21
test ecx, ecx
je 0x1010bb15
mov ecx, dword [ecx + 0x50]
jmp 0x1010bb17
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010bb25
mov eax, dword [eax + 0x18]
jmp 0x1010bb27
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0f0
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba190
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test eax, 0x800
jne 0x1010bbf4
or eax, 0x800
mov dword [0x105db0c8], eax
push 0x3a
xorps xmm0, xmm0
mov dword [ebp - 4], 0x22
push str.55_8B_EC_83_E4_F8_81_EC_________53_56_8B_F1_57_89_74_24_1C
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x23
test ecx, ecx
je 0x1010bbae
mov ecx, dword [ecx + 0x50]
jmp 0x1010bbb0
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010bbbe
mov eax, dword [eax + 0x18]
jmp 0x1010bbc0
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0f4
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba230
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test eax, 0x1000
jne 0x1010bc8d
or eax, 0x1000
mov dword [0x105db0c8], eax
push 0x27
xorps xmm0, xmm0
mov dword [ebp - 4], 0x24
push str.55_8B_EC_56_8B_75___57_FF_75___8B_F9_56
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x25
test ecx, ecx
je 0x1010bc47
mov ecx, dword [ecx + 0x50]
jmp 0x1010bc49
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010bc57
mov eax, dword [eax + 0x18]
jmp 0x1010bc59
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0f8
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba200
call fcn.101a3d54
mov eax, dword [0x105db0c8]
add esp, 4
mov dword [ebp - 4], 0xffffffff
test eax, 0x2000
jne 0x1010bd21
or eax, 0x2000
mov dword [0x105db0c8], eax
push 0x2a
xorps xmm0, xmm0
mov dword [ebp - 4], 0x26
push str.55_8B_EC_51_56_8B_F1_80_BE___________74_36
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], 0
movups xmmword [ebp - 0x34], xmm0
mov dword [ebp - 0x20], 0
call fcn.10018360
mov ecx, dword [0x105d9c7c]
mov byte [ebp - 4], 0x27
test ecx, ecx
je 0x1010bce0
mov ecx, dword [ecx + 0x50]
jmp 0x1010bce2
xor ecx, ecx
mov eax, dword [0x105d9c74]
test eax, eax
je 0x1010bcf0
mov eax, dword [eax + 0x18]
jmp 0x1010bcf2
xor eax, eax
lea edx, [ebp - 0x34]
push edx
push ecx
push eax
push 0x105db0fc
call fcn.100289d0
add esp, 0x10
lea ecx, [ebp - 0x34]
call fcn.1001ae90
push 0x101ba220
call fcn.101a3d54
add esp, 4
mov dword [ebp - 4], 0xffffffff
call fcn.101a0370
push 0x105db0c0
push 0x10109550
push dword [0x105db0e4]
call fcn.101a04b0
push 0x105da2f0
push 0x1010be90
push dword [0x105db0e0]
call fcn.101a04b0
push 0x105db0b0
push 0x10108440
push dword [0x105db0c4]
call fcn.101a04b0
push 0x105db0b4
push 0x100f2690
push dword [0x105db0cc]
call fcn.101a04b0
push 0x105db0a4
push 0x100f23b0
push dword [0x105db0d0]
call fcn.101a04b0
push 0x105db0b8
push 0x100f2360
push dword [0x105db0d4]
call fcn.101a04b0
push 0x105db0bc
push 0x100f2660
push dword [0x105db0dc]
call fcn.101a04b0
push 0x105db0ac
push 0x10107d50
push dword [0x105db0e8]
call fcn.101a04b0
push 0x105db0a8
push 0x100f2410
push dword [0x105db0ec]
call fcn.101a04b0
push 0
call fcn.101a08d0
cmp byte [0x105db100], 0
jne 0x1010be6f
push 0x22
xorps xmm0, xmm0
mov dword [ebp - 0x24], 0
push str.B8_________3B_F0_0F_4F_F0_89_5D_FC
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 0
movups xmmword [ebp - 0x34], xmm0
call fcn.10018360
lea eax, [ebp - 0x34]
mov dword [ebp - 4], 0x28
push eax
lea eax, [ebp - 0x64]
push 0x105d9c8c
push eax
call fcn.100dc6a0
add esp, 0xc
lea ecx, [ebp - 0x34]
mov edi, dword [eax]
inc edi
call fcn.1001ae90
mov esi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
lea eax, [ebp - 0x14]
push eax
push 0x40
push 4
push edi
mov dword [ebp - 0x14], 0
call esi
lea eax, [ebp - 0x14]
mov dword [edi], 0x3e
push eax
push dword [ebp - 0x14]
push 4
push edi
call esi
mov byte [0x105db100], 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.101a3d69
mov esp, ebp
pop ebp
ret