Function at 0x101ceff0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10242d64
mov eax, dword fs:[0]
push eax
mov eax, 0x1144
call fcn.10231aa0
mov eax, dword [0x102ff008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x24c], 0
mov dword [ebp - 0x248], 0
mov dword [ebp - 0x250], 0
mov dword [ebp - 0x254], 0
mov ecx, 0x10382375
call fcn.102317b0
push 0
push str.Valve001
call dword [sym.imp.USER32.dll_FindWindowA]
mov dword [ebp - 0xf90], eax
mov eax, dword [0x10311c58]
mov dword [ebp - 0xf98], eax
mov dword [ebp - 0xcf8], 0x102313b0
mov ecx, dword [ebp - 0xcf8]
push ecx
push 0xfffffffffffffffc
mov edx, dword [ebp - 0xf90]
push edx
call dword [ebp - 0xf98]
mov ecx, dword [ebp - 0x258]
mov dword [ecx + 0x67c], eax
mov edx, dword [ebp - 0x258]
mov dword [ebp - 0x2a4], edx
mov eax, dword [0x1034ac68]
mov dword [ebp - 0xfac], eax
lea ecx, [ebp - 0x340]
mov dword [ebp - 0x5ac], ecx
mov edx, dword [ebp - 0x5ac]
mov eax, dword [ebp - 0xfac]
mov dword [edx], eax
mov ecx, dword [ebp - 0x5ac]
mov dword [ebp - 0x10c8], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x340]
mov dword [edx], eax
mov ecx, dword [ebp - 0x340]
mov edx, dword [ecx]
mov dword [ebp - 0xfb4], edx
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [ebp - 0xfb4]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x2a4]
cmp dword [edx + 4], 0
jne 0x101cf128
mov dword [ebp - 4], 0xffffffff
jmp 0x101cf3cf
mov dword [ebp - 0x3bc], 0
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x3bc]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x70c], eax
cmp dword [ebp - 0x70c], 0
jne 0x101cf15c
mov byte [ebp - 0x265], 0
jmp 0x101cf1b4
mov ecx, dword [0x10311c54]
mov dword [ebp - 0xfc8], ecx
push 0x1c
lea edx, [ebp - 0xa8]
push edx
mov eax, dword [ebp - 0x70c]
push eax
call dword [ebp - 0xfc8]
test eax, eax
jne 0x101cf18b
mov byte [ebp - 0x265], 0
jmp 0x101cf1b4
mov ecx, dword [ebp - 0x94]
and ecx, 1
jne 0x101cf1a4
mov edx, dword [ebp - 0x94]
and edx, 0x100
je 0x101cf1ad
mov byte [ebp - 0x265], 0
jmp 0x101cf1b4
mov byte [ebp - 0x265], 1
movzx eax, byte [ebp - 0x265]
test eax, eax
je 0x101cf1d3
mov ecx, dword [ebp - 0x3bc]
add ecx, 1
mov dword [ebp - 0x3bc], ecx
jmp 0x101cf132
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x3bc]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x2a4]
cmp dword [ecx + 0xc], 0
jne 0x101cf1fa
mov dword [ebp - 4], 0xffffffff
jmp 0x101cf3cf
mov edx, 1
test edx, edx
je 0x101cf217
mov eax, dword [ebp - 0x2a4]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov dword [ebp - 0x710], ecx
jmp 0x101cf226
mov edx, dword [ebp - 0x2a4]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x710], eax
mov ecx, dword [ebp - 0x710]
push ecx
lea edx, [ebp - 0xfe4]
push edx
call fcn.1005edd0
add esp, 8
mov dword [ebp - 0xfd0], eax
mov eax, dword [ebp - 0xfd0]
push eax
mov ecx, dword [ebp - 0x2a4]
add ecx, 8
call fcn.1005eed0
lea ecx, [ebp - 0xfe4]
call fcn.1005bf90
mov ecx, dword [ebp - 0x2a4]
cmp dword [ecx + 8], 0
je 0x101cf277
mov byte [ebp - 0x2c2], 1
jmp 0x101cf27e
mov byte [ebp - 0x2c2], 0
mov dl, byte [ebp - 0x2c2]
mov byte [ebp - 0x2f6], dl
movzx eax, byte [ebp - 0x2f6]
test eax, eax
jne 0x101cf2a1
mov dword [ebp - 4], 0xffffffff
jmp 0x101cf3cf
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ecx + 8]
mov dword [ebp - 0xfec], edx
mov eax, dword [ebp - 0xfec]
mov dword [ebp - 0x44], eax
mov ecx, 1
test ecx, ecx
je 0x101cf35e
mov edx, dword [ebp - 0x2a4]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0xff8], ecx
mov edx, dword [ebp - 0x2a4]
mov eax, dword [edx + 4]
sub eax, 4
mov dword [ebp - 0xffc], eax
mov ecx, dword [ebp - 0x10cc]
mov dword [ebp - 0x714], ecx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0xff8]
push eax
mov ecx, dword [ebp - 0xffc]
push ecx
mov edx, dword [ebp - 0x714]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x1000], eax
mov ecx, dword [ebp - 0x1000]
add ecx, 4
mov dword [ebp - 0x1004], ecx
cmp dword [ebp - 0x340], 0
jne 0x101cf344
jmp 0x101cf352
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x1004]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2a4]
mov byte [ecx + 0x10], 1
jmp 0x101cf3c8
mov edx, dword [ebp - 0x2a4]
mov eax, dword [edx + 0xc]
shl eax, 2
mov dword [ebp - 0x1008], eax
mov ecx, dword [ebp - 0x2a4]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x100c], edx
mov eax, dword [ebp - 0x10d0]
mov dword [ebp - 0x718], eax
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x1008]
push edx
mov eax, dword [ebp - 0x100c]
push eax
mov ecx, dword [ebp - 0x718]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x340], 0
jne 0x101cf3bd
jmp 0x101cf3c8
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x340]
mov dword [eax], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x258]
mov dword [ebp - 0x348], ecx
mov dword [ebp - 0x1010], 0x10205230
mov edx, dword [ebp - 0x348]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x101cf403
mov ecx, 0x29
add ecx, 1
mov dword [ebp - 0x71c], ecx
jmp 0x101cf40d
mov dword [ebp - 0x71c], 0x29
mov edx, dword [ebp - 0x71c]
mov dword [ebp - 0x720], edx
mov eax, dword [ebp - 0x348]
cmp dword [eax + 4], 0
je 0x101cf469
mov ecx, dword [ebp - 0x348]
cmp dword [ecx + 8], 0
je 0x101cf43a
mov byte [ebp - 0x2cf], 1
jmp 0x101cf441
mov byte [ebp - 0x2cf], 0
mov dl, byte [ebp - 0x2cf]
mov byte [ebp - 0x2f7], dl
movzx eax, byte [ebp - 0x2f7]
test eax, eax
je 0x101cf469
mov ecx, dword [ebp - 0x348]
mov edx, dword [ebp - 0x720]
cmp edx, dword [ecx + 0xc]
jbe 0x101cf493
mov dword [ebp - 0x424], 0
mov eax, dword [ebp - 0x24c]
or eax, 1
mov dword [ebp - 0x24c], eax
lea ecx, [ebp - 0x424]
mov dword [ebp - 0x103c], ecx
jmp 0x101cf5dd
mov edx, dword [ebp - 0x1010]
mov dword [ebp - 0x1014], edx
mov eax, dword [ebp - 0x1014]
mov dword [ebp - 0x1020], eax
mov ecx, dword [ebp - 0x348]
add ecx, 8
mov dword [ebp - 0x1018], ecx
mov edx, dword [ebp - 0x1018]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x720]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x101c], edx
mov eax, dword [ebp - 0x101c]
mov ecx, dword [ebp - 0x1020]
mov dword [eax], ecx
mov edx, 0x29
shl edx, 2
mov eax, dword [ebp - 0x348]
add edx, dword [eax + 4]
mov dword [ebp - 0x724], edx
mov ecx, dword [ebp - 0x724]
cmp dword [ecx], 0
je 0x101cf544
mov edx, dword [ebp - 0x724]
mov eax, dword [edx]
mov dword [ebp - 0x1024], eax
mov ecx, dword [ebp - 0x1024]
mov dword [ebp - 0x1028], ecx
lea edx, [ebp - 0x1028]
mov dword [ebp - 0x102c], edx
mov eax, dword [ebp - 0x24c]
or eax, 2
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x102c]
mov dword [ebp - 0x728], ecx
jmp 0x101cf575
mov dword [ebp - 0x1030], 0
lea edx, [ebp - 0x1030]
mov dword [ebp - 0x1034], edx
mov eax, dword [ebp - 0x24c]
or eax, 4
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x1034]
mov dword [ebp - 0x728], ecx
mov edx, dword [ebp - 0x728]
mov dword [ebp - 0x1038], edx
mov eax, dword [ebp - 0x1038]
mov ecx, dword [eax]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x24c]
or edx, 8
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x24c]
and eax, 4
je 0x101cf5b0
and dword [ebp - 0x24c], 0xfffffffb
mov ecx, dword [ebp - 0x24c]
and ecx, 2
je 0x101cf5c2
and dword [ebp - 0x24c], 0xfffffffd
mov edx, dword [ebp - 0x24c]
or edx, 1
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0x424]
mov dword [ebp - 0x103c], eax
mov ecx, dword [ebp - 0x258]
add ecx, 0x28
mov dword [ebp - 0x26c], ecx
mov edx, dword [0x1034ac50]
mov dword [ebp - 0x778], edx
lea eax, [ebp - 0x350]
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x72c]
mov edx, dword [ebp - 0x778]
mov dword [ecx], edx
mov eax, dword [ebp - 0x72c]
mov dword [ebp - 0x10d4], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x350]
mov dword [ecx], edx
mov eax, dword [ebp - 0x350]
mov ecx, dword [eax]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x77c]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x26c]
cmp dword [ecx + 4], 0
jne 0x101cf668
mov dword [ebp - 4], 0xffffffff
jmp 0x101cf908
mov dword [ebp - 0x3c4], 0
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x3c4]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x730], edx
cmp dword [ebp - 0x730], 0
jne 0x101cf69c
mov byte [ebp - 0x25a], 0
jmp 0x101cf6ed
mov eax, dword [0x10311c54]
mov dword [ebp - 0x780], eax
push 0x1c
lea ecx, [ebp - 0x8c]
push ecx
mov edx, dword [ebp - 0x730]
push edx
call dword [ebp - 0x780]
test eax, eax
jne 0x101cf6ca
mov byte [ebp - 0x25a], 0
jmp 0x101cf6ed
mov eax, dword [ebp - 0x78]
and eax, 1
jne 0x101cf6dd
mov ecx, dword [ebp - 0x78]
and ecx, 0x100
je 0x101cf6e6
mov byte [ebp - 0x25a], 0
jmp 0x101cf6ed
mov byte [ebp - 0x25a], 1
movzx edx, byte [ebp - 0x25a]
test edx, edx
je 0x101cf70c
mov eax, dword [ebp - 0x3c4]
add eax, 1
mov dword [ebp - 0x3c4], eax
jmp 0x101cf672
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ebp - 0x3c4]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x26c]
cmp dword [eax + 0xc], 0
jne 0x101cf733
mov dword [ebp - 4], 0xffffffff
jmp 0x101cf908
mov ecx, 1
test ecx, ecx
je 0x101cf750
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x734], eax
jmp 0x101cf75f
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
push eax
lea ecx, [ebp - 0x788]
push ecx
call fcn.1005edd0
add esp, 8
mov dword [ebp - 0x784], eax
mov edx, dword [ebp - 0x784]
push edx
mov ecx, dword [ebp - 0x26c]
add ecx, 8
call fcn.1005eed0
lea ecx, [ebp - 0x788]
call fcn.1005bf90
mov eax, dword [ebp - 0x26c]
cmp dword [eax + 8], 0
je 0x101cf7b0
mov byte [ebp - 0x2ce], 1
jmp 0x101cf7b7
mov byte [ebp - 0x2ce], 0
mov cl, byte [ebp - 0x2ce]
mov byte [ebp - 0x2f8], cl
movzx edx, byte [ebp - 0x2f8]
test edx, edx
jne 0x101cf7da
mov dword [ebp - 4], 0xffffffff
jmp 0x101cf908
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x78c], ecx
mov edx, dword [ebp - 0x78c]
mov dword [ebp - 0x40], edx
mov eax, 1
test eax, eax
je 0x101cf897
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 0xc]
lea eax, [edx*4 + 4]
mov dword [ebp - 0x790], eax
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 4]
sub edx, 4
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x10d8]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x738], ecx
mov edx, dword [ebp - 0x790]
push edx
mov eax, dword [ebp - 0x794]
push eax
mov ecx, dword [ebp - 0x738]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
add eax, 4
mov dword [ebp - 0x79c], eax
cmp dword [ebp - 0x350], 0
jne 0x101cf87d
jmp 0x101cf88b
mov ecx, dword [ebp - 0x350]
mov edx, dword [ebp - 0x79c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x26c]
mov byte [eax + 0x10], 1
jmp 0x101cf901
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 0xc]
shl edx, 2
mov dword [ebp - 0x7a0], edx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x7a4], ecx
mov edx, dword [ebp - 0x10dc]
mov dword [ebp - 0x73c], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x73c], eax
mov ecx, dword [ebp - 0x7a0]
push ecx
mov edx, dword [ebp - 0x7a4]
push edx
mov eax, dword [ebp - 0x73c]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x350], 0
jne 0x101cf8f6
jmp 0x101cf901
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x350]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x258]
add eax, 0x28
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x7a8], 0x101e6900
mov ecx, dword [ebp - 0x358]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101cf93f
mov eax, 5
add eax, 1
mov dword [ebp - 0x740], eax
jmp 0x101cf949
mov dword [ebp - 0x740], 5
mov ecx, dword [ebp - 0x740]
mov dword [ebp - 0x744], ecx
mov edx, dword [ebp - 0x358]
cmp dword [edx + 4], 0
je 0x101cf9a5
mov eax, dword [ebp - 0x358]
cmp dword [eax + 8], 0
je 0x101cf976
mov byte [ebp - 0x2cd], 1
jmp 0x101cf97d
mov byte [ebp - 0x2cd], 0
mov cl, byte [ebp - 0x2cd]
mov byte [ebp - 0x2f9], cl
movzx edx, byte [ebp - 0x2f9]
test edx, edx
je 0x101cf9a5
mov eax, dword [ebp - 0x358]
mov ecx, dword [ebp - 0x744]
cmp ecx, dword [eax + 0xc]
jbe 0x101cf9cf
mov dword [ebp - 0x428], 0
mov edx, dword [ebp - 0x24c]
or edx, 0x10
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0x428]
mov dword [ebp - 0x7d4], eax
jmp 0x101cfb1c
mov ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b8], edx
mov eax, dword [ebp - 0x358]
add eax, 8
mov dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x7b0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x744]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x7b4], ecx
mov edx, dword [ebp - 0x7b4]
mov eax, dword [ebp - 0x7b8]
mov dword [edx], eax
mov ecx, 5
shl ecx, 2
mov edx, dword [ebp - 0x358]
add ecx, dword [edx + 4]
mov dword [ebp - 0x748], ecx
mov eax, dword [ebp - 0x748]
cmp dword [eax], 0
je 0x101cfa80
mov ecx, dword [ebp - 0x748]
mov edx, dword [ecx]
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c0], eax
lea ecx, [ebp - 0x7c0]
mov dword [ebp - 0x7c4], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x20
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x7c4]
mov dword [ebp - 0x74c], eax
jmp 0x101cfab1
mov dword [ebp - 0x7c8], 0
lea ecx, [ebp - 0x7c8]
mov dword [ebp - 0x7cc], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x40
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x7cc]
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp - 0x74c]
mov dword [ebp - 0x7d0], ecx
mov edx, dword [ebp - 0x7d0]
mov eax, dword [edx]
mov dword [ebp - 0x428], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x80
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
and edx, 0x40
je 0x101cfaef
and dword [ebp - 0x24c], 0xffffffbf
mov eax, dword [ebp - 0x24c]
and eax, 0x20
je 0x101cfb01
and dword [ebp - 0x24c], 0xffffffdf
mov ecx, dword [ebp - 0x24c]
or ecx, 0x10
mov dword [ebp - 0x24c], ecx
lea edx, [ebp - 0x428]
mov dword [ebp - 0x7d4], edx
mov eax, dword [ebp - 0x258]
add eax, 0x28
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x7d8], 0x101e6b60
mov ecx, dword [ebp - 0x360]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101cfb53
mov eax, 6
add eax, 1
mov dword [ebp - 0x750], eax
jmp 0x101cfb5d
mov dword [ebp - 0x750], 6
mov ecx, dword [ebp - 0x750]
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x360]
cmp dword [edx + 4], 0
je 0x101cfbb9
mov eax, dword [ebp - 0x360]
cmp dword [eax + 8], 0
je 0x101cfb8a
mov byte [ebp - 0x2cc], 1
jmp 0x101cfb91
mov byte [ebp - 0x2cc], 0
mov cl, byte [ebp - 0x2cc]
mov byte [ebp - 0x2fa], cl
movzx edx, byte [ebp - 0x2fa]
test edx, edx
je 0x101cfbb9
mov eax, dword [ebp - 0x360]
mov ecx, dword [ebp - 0x754]
cmp ecx, dword [eax + 0xc]
jbe 0x101cfbe6
mov dword [ebp - 0x42c], 0
mov edx, dword [ebp - 0x24c]
or edx, 0x100
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x804], eax
jmp 0x101cfd47
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0x7dc], ecx
mov edx, dword [ebp - 0x7dc]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x360]
add eax, 8
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x7e0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x754]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x7e4], ecx
mov edx, dword [ebp - 0x7e4]
mov eax, dword [ebp - 0x7e8]
mov dword [edx], eax
mov ecx, 6
shl ecx, 2
mov edx, dword [ebp - 0x360]
add ecx, dword [edx + 4]
mov dword [ebp - 0x758], ecx
mov eax, dword [ebp - 0x758]
cmp dword [eax], 0
je 0x101cfc9a
mov ecx, dword [ebp - 0x758]
mov edx, dword [ecx]
mov dword [ebp - 0x7ec], edx
mov eax, dword [ebp - 0x7ec]
mov dword [ebp - 0x7f0], eax
lea ecx, [ebp - 0x7f0]
mov dword [ebp - 0x7f4], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x200
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x7f4]
mov dword [ebp - 0x75c], eax
jmp 0x101cfcce
mov dword [ebp - 0x7f8], 0
lea ecx, [ebp - 0x7f8]
mov dword [ebp - 0x7fc], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x400
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x7fc]
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x75c]
mov dword [ebp - 0x800], ecx
mov edx, dword [ebp - 0x800]
mov eax, dword [edx]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x800
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
and edx, 0x400
je 0x101cfd12
and dword [ebp - 0x24c], 0xfffffbff
mov eax, dword [ebp - 0x24c]
and eax, 0x200
je 0x101cfd29
and dword [ebp - 0x24c], 0xfffffdff
mov ecx, dword [ebp - 0x24c]
or ecx, 0x100
mov dword [ebp - 0x24c], ecx
lea edx, [ebp - 0x42c]
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x258]
add eax, 0x28
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x808], 0x101e6a90
mov ecx, dword [ebp - 0x368]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101cfd7e
mov eax, 7
add eax, 1
mov dword [ebp - 0x760], eax
jmp 0x101cfd88
mov dword [ebp - 0x760], 7
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x368]
cmp dword [edx + 4], 0
je 0x101cfde4
mov eax, dword [ebp - 0x368]
cmp dword [eax + 8], 0
je 0x101cfdb5
mov byte [ebp - 0x2cb], 1
jmp 0x101cfdbc
mov byte [ebp - 0x2cb], 0
mov cl, byte [ebp - 0x2cb]
mov byte [ebp - 0x2fb], cl
movzx edx, byte [ebp - 0x2fb]
test edx, edx
je 0x101cfde4
mov eax, dword [ebp - 0x368]
mov ecx, dword [ebp - 0x764]
cmp ecx, dword [eax + 0xc]
jbe 0x101cfe11
mov dword [ebp - 0x430], 0
mov edx, dword [ebp - 0x24c]
or edx, 0x1000
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0x430]
mov dword [ebp - 0x834], eax
jmp 0x101cff72
mov ecx, dword [ebp - 0x808]
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x80c]
mov dword [ebp - 0x818], edx
mov eax, dword [ebp - 0x368]
add eax, 8
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x810]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x764]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x814]
mov eax, dword [ebp - 0x818]
mov dword [edx], eax
mov ecx, 7
shl ecx, 2
mov edx, dword [ebp - 0x368]
add ecx, dword [edx + 4]
mov dword [ebp - 0x768], ecx
mov eax, dword [ebp - 0x768]
cmp dword [eax], 0
je 0x101cfec5
mov ecx, dword [ebp - 0x768]
mov edx, dword [ecx]
mov dword [ebp - 0x81c], edx
mov eax, dword [ebp - 0x81c]
mov dword [ebp - 0x820], eax
lea ecx, [ebp - 0x820]
mov dword [ebp - 0x824], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x2000
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x824]
mov dword [ebp - 0x76c], eax
jmp 0x101cfef9
mov dword [ebp - 0x828], 0
lea ecx, [ebp - 0x828]
mov dword [ebp - 0x82c], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x4000
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x76c], eax
mov ecx, dword [ebp - 0x76c]
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x830]
mov eax, dword [edx]
mov dword [ebp - 0x430], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x8000
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
and edx, 0x4000
je 0x101cff3d
and dword [ebp - 0x24c], 0xffffbfff
mov eax, dword [ebp - 0x24c]
and eax, 0x2000
je 0x101cff54
and dword [ebp - 0x24c], 0xffffdfff
mov ecx, dword [ebp - 0x24c]
or ecx, 0x1000
mov dword [ebp - 0x24c], ecx
lea edx, [ebp - 0x430]
mov dword [ebp - 0x834], edx
mov eax, dword [ebp - 0x258]
add eax, 0x28
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x838], 0x101e66b0
mov ecx, dword [ebp - 0x370]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101cffa9
mov eax, 0x24
add eax, 1
mov dword [ebp - 0x770], eax
jmp 0x101cffb3
mov dword [ebp - 0x770], 0x24
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x370]
cmp dword [edx + 4], 0
je 0x101d000f
mov eax, dword [ebp - 0x370]
cmp dword [eax + 8], 0
je 0x101cffe0
mov byte [ebp - 0x2ca], 1
jmp 0x101cffe7
mov byte [ebp - 0x2ca], 0
mov cl, byte [ebp - 0x2ca]
mov byte [ebp - 0x2fc], cl
movzx edx, byte [ebp - 0x2fc]
test edx, edx
je 0x101d000f
mov eax, dword [ebp - 0x370]
mov ecx, dword [ebp - 0x470]
cmp ecx, dword [eax + 0xc]
jbe 0x101d003c
mov dword [ebp - 0x434], 0
mov edx, dword [ebp - 0x24c]
or edx, 0x10000
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0x434]
mov dword [ebp - 0x864], eax
jmp 0x101d019d
mov ecx, dword [ebp - 0x838]
mov dword [ebp - 0x83c], ecx
mov edx, dword [ebp - 0x83c]
mov dword [ebp - 0x848], edx
mov eax, dword [ebp - 0x370]
add eax, 8
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x470]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x844], ecx
mov edx, dword [ebp - 0x844]
mov eax, dword [ebp - 0x848]
mov dword [edx], eax
mov ecx, 0x24
shl ecx, 2
mov edx, dword [ebp - 0x370]
add ecx, dword [edx + 4]
mov dword [ebp - 0x474], ecx
mov eax, dword [ebp - 0x474]
cmp dword [eax], 0
je 0x101d00f0
mov ecx, dword [ebp - 0x474]
mov edx, dword [ecx]
mov dword [ebp - 0x84c], edx
mov eax, dword [ebp - 0x84c]
mov dword [ebp - 0x850], eax
lea ecx, [ebp - 0x850]
mov dword [ebp - 0x854], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x20000
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x478], eax
jmp 0x101d0124
mov dword [ebp - 0x858], 0
lea ecx, [ebp - 0x858]
mov dword [ebp - 0x85c], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x40000
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x85c]
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x478]
mov dword [ebp - 0x860], ecx
mov edx, dword [ebp - 0x860]
mov eax, dword [edx]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x80000
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
and edx, 0x40000
je 0x101d0168
and dword [ebp - 0x24c], 0xfffbffff
mov eax, dword [ebp - 0x24c]
and eax, 0x20000
je 0x101d017f
and dword [ebp - 0x24c], 0xfffdffff
mov ecx, dword [ebp - 0x24c]
or ecx, 0x10000
mov dword [ebp - 0x24c], ecx
lea edx, [ebp - 0x434]
mov dword [ebp - 0x864], edx
mov eax, dword [ebp - 0x258]
add eax, 0x28
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x868], 0x101e57b0
mov ecx, dword [ebp - 0x35c]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101d01d4
mov eax, 0x17
add eax, 1
mov dword [ebp - 0x47c], eax
jmp 0x101d01de
mov dword [ebp - 0x47c], 0x17
mov ecx, dword [ebp - 0x47c]
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x35c]
cmp dword [edx + 4], 0
je 0x101d023a
mov eax, dword [ebp - 0x35c]
cmp dword [eax + 8], 0
je 0x101d020b
mov byte [ebp - 0x2c9], 1
jmp 0x101d0212
mov byte [ebp - 0x2c9], 0
mov cl, byte [ebp - 0x2c9]
mov byte [ebp - 0x2fd], cl
movzx edx, byte [ebp - 0x2fd]
test edx, edx
je 0x101d023a
mov eax, dword [ebp - 0x35c]
mov ecx, dword [ebp - 0x480]
cmp ecx, dword [eax + 0xc]
jbe 0x101d0267
mov dword [ebp - 0x438], 0
mov edx, dword [ebp - 0x24c]
or edx, 0x100000
mov dword [ebp - 0x24c], edx
lea eax, [ebp - 0x438]
mov dword [ebp - 0x894], eax
jmp 0x101d03c8
mov ecx, dword [ebp - 0x868]
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x86c]
mov dword [ebp - 0x878], edx
mov eax, dword [ebp - 0x35c]
add eax, 8
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x480]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x874], ecx
mov edx, dword [ebp - 0x874]
mov eax, dword [ebp - 0x878]
mov dword [edx], eax
mov ecx, 0x17
shl ecx, 2
mov edx, dword [ebp - 0x35c]
add ecx, dword [edx + 4]
mov dword [ebp - 0x484], ecx
mov eax, dword [ebp - 0x484]
cmp dword [eax], 0
je 0x101d031b
mov ecx, dword [ebp - 0x484]
mov edx, dword [ecx]
mov dword [ebp - 0x87c], edx
mov eax, dword [ebp - 0x87c]
mov dword [ebp - 0x880], eax
lea ecx, [ebp - 0x880]
mov dword [ebp - 0x884], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x200000
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x884]
mov dword [ebp - 0x488], eax
jmp 0x101d034f
mov dword [ebp - 0x888], 0
lea ecx, [ebp - 0x888]
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp - 0x24c]
or edx, 0x400000
mov dword [ebp - 0x24c], edx
mov eax, dword [ebp - 0x88c]
mov dword [ebp - 0x488], eax
mov ecx, dword [ebp - 0x488]
mov dword [ebp - 0x890], ecx
mov edx, dword [ebp - 0x890]
mov eax, dword [edx]
mov dword [ebp - 0x438], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x800000
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x24c]
and edx, 0x400000
je 0x101d0393
and dword [ebp - 0x24c], 0xffbfffff
mov eax, dword [ebp - 0x24c]
and eax, 0x200000
je 0x101d03aa
and dword [ebp - 0x24c], 0xffdfffff
mov ecx, dword [ebp - 0x24c]
or ecx, 0x100000
mov dword [ebp - 0x24c], ecx
lea edx, [ebp - 0x438]
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0x258]
add eax, 0x50
mov dword [ebp - 0x270], eax
mov ecx, dword [0x1034ac58]
mov dword [ebp - 0x898], ecx
lea edx, [ebp - 0x380]
mov dword [ebp - 0x48c], edx
mov eax, dword [ebp - 0x48c]
mov ecx, dword [ebp - 0x898]
mov dword [eax], ecx
mov edx, dword [ebp - 0x48c]
mov dword [ebp - 0x10e0], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x380]
mov dword [eax], ecx
mov edx, dword [ebp - 0x380]
mov eax, dword [edx]
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x270]
mov edx, dword [ebp - 0x89c]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x270]
cmp dword [eax + 4], 0
jne 0x101d0453
mov dword [ebp - 4], 0xffffffff
jmp 0x101d06f9
mov dword [ebp - 0x3cc], 0
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x490], ecx
cmp dword [ebp - 0x490], 0
jne 0x101d0487
mov byte [ebp - 0x259], 0
jmp 0x101d04de
mov edx, dword [0x10311c54]
mov dword [ebp - 0x8a0], edx
push 0x1c
lea eax, [ebp - 0x1f8]
push eax
mov ecx, dword [ebp - 0x490]
push ecx
call dword [ebp - 0x8a0]
test eax, eax
jne 0x101d04b6
mov byte [ebp - 0x259], 0
jmp 0x101d04de
mov edx, dword [ebp - 0x1e4]
and edx, 1
jne 0x101d04ce
mov eax, dword [ebp - 0x1e4]
and eax, 0x100
je 0x101d04d7
mov byte [ebp - 0x259], 0
jmp 0x101d04de
mov byte [ebp - 0x259], 1
movzx ecx, byte [ebp - 0x259]
test ecx, ecx
je 0x101d04fd
mov edx, dword [ebp - 0x3cc]
add edx, 1
mov dword [ebp - 0x3cc], edx
jmp 0x101d045d
mov eax, dword [ebp - 0x270]
mov ecx, dword [ebp - 0x3cc]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x270]
cmp dword [edx + 0xc], 0
jne 0x101d0524
mov dword [ebp - 4], 0xffffffff
jmp 0x101d06f9
mov eax, 1
test eax, eax
je 0x101d0541
mov ecx, dword [ebp - 0x270]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x494], edx
jmp 0x101d0550
mov eax, dword [ebp - 0x270]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x494]
push edx
lea eax, [ebp - 0x8a8]
push eax
call fcn.1005edd0
add esp, 8
mov dword [ebp - 0x8a4], eax
mov ecx, dword [ebp - 0x8a4]
push ecx
mov ecx, dword [ebp - 0x270]
add ecx, 8
call fcn.1005eed0
lea ecx, [ebp - 0x8a8]
call fcn.1005bf90
mov edx, dword [ebp - 0x270]
cmp dword [edx + 8], 0
je 0x101d05a1
mov byte [ebp - 0x2c8], 1
jmp 0x101d05a8
mov byte [ebp - 0x2c8], 0
mov al, byte [ebp - 0x2c8]
mov byte [ebp - 0x2fe], al
movzx ecx, byte [ebp - 0x2fe]
test ecx, ecx
jne 0x101d05cb
mov dword [ebp - 4], 0xffffffff
jmp 0x101d06f9
mov edx, dword [ebp - 0x270]
mov eax, dword [edx + 8]
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x3c], ecx
mov edx, 1
test edx, edx
je 0x101d0688
mov eax, dword [ebp - 0x270]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0x8b0], edx
mov eax, dword [ebp - 0x270]
mov ecx, dword [eax + 4]
sub ecx, 4
mov dword [ebp - 0x8b4], ecx
mov edx, dword [ebp - 0x10e4]
mov dword [ebp - 0x498], edx
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x498], eax
mov ecx, dword [ebp - 0x8b0]
push ecx
mov edx, dword [ebp - 0x8b4]
push edx
mov eax, dword [ebp - 0x498]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x8b8], ecx
mov edx, dword [ebp - 0x8b8]
add edx, 4
mov dword [ebp - 0x8bc], edx
cmp dword [ebp - 0x380], 0
jne 0x101d066e
jmp 0x101d067c
mov eax, dword [ebp - 0x380]
mov ecx, dword [ebp - 0x8bc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x270]
mov byte [edx + 0x10], 1
jmp 0x101d06f2
mov eax, dword [ebp - 0x270]
mov ecx, dword [eax + 0xc]
shl ecx, 2
mov dword [ebp - 0x8c0], ecx
mov edx, dword [ebp - 0x270]
mov eax, dword [edx + 4]
mov dword [ebp - 0x8c4], eax
mov ecx, dword [ebp - 0x10e8]
mov dword [ebp - 0x49c], ecx
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x49c], edx
mov eax, dword [ebp - 0x8c0]
push eax
mov ecx, dword [ebp - 0x8c4]
push ecx
mov edx, dword [ebp - 0x49c]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x380], 0
jne 0x101d06e7
jmp 0x101d06f2
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x380]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x258]
add edx, 0x50
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x8c8], 0x101de140
mov eax, dword [ebp - 0x384]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x101d0730
mov edx, 0x1b
add edx, 1
mov dword [ebp - 0x4a0], edx
jmp 0x101d073a
mov dword [ebp - 0x4a0], 0x1b
mov eax, dword [ebp - 0x4a0]
mov dword [ebp - 0x4a4], eax
mov ecx, dword [ebp - 0x384]
cmp dword [ecx + 4], 0
je 0x101d0796
mov edx, dword [ebp - 0x384]
cmp dword [edx + 8], 0
je 0x101d0767
mov byte [ebp - 0x2c7], 1
jmp 0x101d076e
mov byte [ebp - 0x2c7], 0
mov al, byte [ebp - 0x2c7]
mov byte [ebp - 0x2d2], al
movzx ecx, byte [ebp - 0x2d2]
test ecx, ecx
je 0x101d0796
mov edx, dword [ebp - 0x384]
mov eax, dword [ebp - 0x4a4]
cmp eax, dword [edx + 0xc]
jbe 0x101d07c3
mov dword [ebp - 0x43c], 0
mov ecx, dword [ebp - 0x24c]
or ecx, 0x1000000
mov dword [ebp - 0x24c], ecx
lea edx, [ebp - 0x43c]
mov dword [ebp - 0x8f4], edx
jmp 0x101d0923
mov eax, dword [ebp - 0x8c8]
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x8cc]
mov dword [ebp - 0x8d8], ecx
mov edx, dword [ebp - 0x384]
add edx, 8
mov dword [ebp - 0x8d0], edx
mov eax, dword [ebp - 0x8d0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4a4]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x8d4], eax
mov ecx, dword [ebp - 0x8d4]
mov edx, dword [ebp - 0x8d8]
mov dword [ecx], edx
mov eax, 0x1b
shl eax, 2
mov ecx, dword [ebp - 0x384]
add eax, dword [ecx + 4]
mov dword [ebp - 0x4a8], eax
mov edx, dword [ebp - 0x4a8]
cmp dword [edx], 0
je 0x101d0877
mov eax, dword [ebp - 0x4a8]
mov ecx, dword [eax]
mov dword [ebp - 0x8dc], ecx
mov edx, dword [ebp - 0x8dc]
mov dword [ebp - 0x8e0], edx
lea eax, [ebp - 0x8e0]
mov dword [ebp - 0x8e4], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x2000000
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x8e4]
mov dword [ebp - 0x4ac], edx
jmp 0x101d08ab
mov dword [ebp - 0x8e8], 0
lea eax, [ebp - 0x8e8]
mov dword [ebp - 0x8ec], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x4000000
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x8ec]
mov dword [ebp - 0x4ac], edx
mov eax, dword [ebp - 0x4ac]
mov dword [ebp - 0x8f0], eax
mov ecx, dword [ebp - 0x8f0]
mov edx, dword [ecx]
mov dword [ebp - 0x43c], edx
mov eax, dword [ebp - 0x24c]
or eax, 0x8000000
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x24c]
and ecx, 0x4000000
je 0x101d08ee
and dword [ebp - 0x24c], 0xfbffffff
mov edx, dword [ebp - 0x24c]
and edx, 0x2000000
je 0x101d0906
and dword [ebp - 0x24c], 0xfdffffff
mov eax, dword [ebp - 0x24c]
or eax, 0x1000000
mov dword [ebp - 0x24c], eax
lea ecx, [ebp - 0x43c]
mov dword [ebp - 0x8f4], ecx
mov edx, dword [ebp - 0x258]
add edx, 0x50
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x8f8], 0x101dddc0
mov eax, dword [ebp - 0x388]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x101d095a
mov edx, 0x5d
add edx, 1
mov dword [ebp - 0x4b0], edx
jmp 0x101d0964
mov dword [ebp - 0x4b0], 0x5d
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0x4b4], eax
mov ecx, dword [ebp - 0x388]
cmp dword [ecx + 4], 0
je 0x101d09c0
mov edx, dword [ebp - 0x388]
cmp dword [edx + 8], 0
je 0x101d0991
mov byte [ebp - 0x2c6], 1
jmp 0x101d0998
mov byte [ebp - 0x2c6], 0
mov al, byte [ebp - 0x2c6]
mov byte [ebp - 0x2d3], al
movzx ecx, byte [ebp - 0x2d3]
test ecx, ecx
je 0x101d09c0
mov edx, dword [ebp - 0x388]
mov eax, dword [ebp - 0x4b4]
cmp eax, dword [edx + 0xc]
jbe 0x101d09ed
mov dword [ebp - 0x440], 0
mov ecx, dword [ebp - 0x24c]
or ecx, 0x10000000
mov dword [ebp - 0x24c], ecx
lea edx, [ebp - 0x440]
mov dword [ebp - 0x924], edx
jmp 0x101d0b4d
mov eax, dword [ebp - 0x8f8]
mov dword [ebp - 0x8fc], eax
mov ecx, dword [ebp - 0x8fc]
mov dword [ebp - 0x908], ecx
mov edx, dword [ebp - 0x388]
add edx, 8
mov dword [ebp - 0x900], edx
mov eax, dword [ebp - 0x900]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4b4]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x904], eax
mov ecx, dword [ebp - 0x904]
mov edx, dword [ebp - 0x908]
mov dword [ecx], edx
mov eax, 0x5d
shl eax, 2
mov ecx, dword [ebp - 0x388]
add eax, dword [ecx + 4]
mov dword [ebp - 0x4b8], eax
mov edx, dword [ebp - 0x4b8]
cmp dword [edx], 0
je 0x101d0aa1
mov eax, dword [ebp - 0x4b8]
mov ecx, dword [eax]
mov dword [ebp - 0x90c], ecx
mov edx, dword [ebp - 0x90c]
mov dword [ebp - 0x910], edx
lea eax, [ebp - 0x910]
mov dword [ebp - 0x914], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x20000000
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x914]
mov dword [ebp - 0x4bc], edx
jmp 0x101d0ad5
mov dword [ebp - 0x918], 0
lea eax, [ebp - 0x918]
mov dword [ebp - 0x91c], eax
mov ecx, dword [ebp - 0x24c]
or ecx, 0x40000000
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x91c]
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0x920], eax
mov ecx, dword [ebp - 0x920]
mov edx, dword [ecx]
mov dword [ebp - 0x440], edx
mov eax, dword [ebp - 0x24c]
or eax, 0x80000000
mov dword [ebp - 0x24c], eax
mov ecx, dword [ebp - 0x24c]
and ecx, 0x40000000
je 0x101d0b18
and dword [ebp - 0x24c], 0xbfffffff
mov edx, dword [ebp - 0x24c]
and edx, 0x20000000
je 0x101d0b30
and dword [ebp - 0x24c], 0xdfffffff
mov eax, dword [ebp - 0x24c]
or eax, 0x10000000
mov dword [ebp - 0x24c], eax
lea ecx, [ebp - 0x440]
mov dword [ebp - 0x924], ecx
mov edx, dword [ebp - 0x258]
add edx, 0x78
mov dword [ebp - 0x274], edx
mov eax, dword [0x1034ac70]
mov dword [ebp - 0x928], eax
lea ecx, [ebp - 0x38c]
mov dword [ebp - 0x4c0], ecx
mov edx, dword [ebp - 0x4c0]
mov eax, dword [ebp - 0x928]
mov dword [edx], eax
mov ecx, dword [ebp - 0x4c0]
mov dword [ebp - 0x10ec], ecx
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x38c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x38c]
mov edx, dword [ecx]
mov dword [ebp - 0x92c], edx
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x92c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x274]
cmp dword [edx + 4], 0
jne 0x101d0bd7
mov dword [ebp - 4], 0xffffffff
jmp 0x101d0e7e
mov dword [ebp - 0x3d0], 0
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x3d0]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x4c4], eax
cmp dword [ebp - 0x4c4], 0
jne 0x101d0c0b
mov byte [ebp - 0x267], 0
jmp 0x101d0c63
mov ecx, dword [0x10311c54]
mov dword [ebp - 0x930], ecx
push 0x1c
lea edx, [ebp - 0x1dc]
push edx
mov eax, dword [ebp - 0x4c4]
push eax
call dword [ebp - 0x930]
test eax, eax
jne 0x101d0c3a
mov byte [ebp - 0x267], 0
jmp 0x101d0c63
mov ecx, dword [ebp - 0x1c8]
and ecx, 1
jne 0x101d0c53
mov edx, dword [ebp - 0x1c8]
and edx, 0x100
je 0x101d0c5c
mov byte [ebp - 0x267], 0
jmp 0x101d0c63
mov byte [ebp - 0x267], 1
movzx eax, byte [ebp - 0x267]
test eax, eax
je 0x101d0c82
mov ecx, dword [ebp - 0x3d0]
add ecx, 1
mov dword [ebp - 0x3d0], ecx
jmp 0x101d0be1
mov edx, dword [ebp - 0x274]
mov eax, dword [ebp - 0x3d0]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x274]
cmp dword [ecx + 0xc], 0
jne 0x101d0ca9
mov dword [ebp - 4], 0xffffffff
jmp 0x101d0e7e
mov edx, 1
test edx, edx
je 0x101d0cc6
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov dword [ebp - 0x4c8], ecx
jmp 0x101d0cd5
mov edx, dword [ebp - 0x274]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x4c8]
push ecx
lea edx, [ebp - 0x938]
push edx
call fcn.1005edd0
add esp, 8
mov dword [ebp - 0x934], eax
mov eax, dword [ebp - 0x934]
push eax
mov ecx, dword [ebp - 0x274]
add ecx, 8
call fcn.1005eed0
lea ecx, [ebp - 0x938]
call fcn.1005bf90
mov ecx, dword [ebp - 0x274]
cmp dword [ecx + 8], 0
je 0x101d0d26
mov byte [ebp - 0x2c5], 1
jmp 0x101d0d2d
mov byte [ebp - 0x2c5], 0
mov dl, byte [ebp - 0x2c5]
mov byte [ebp - 0x2d4], dl
movzx eax, byte [ebp - 0x2d4]
test eax, eax
jne 0x101d0d50
mov dword [ebp - 4], 0xffffffff
jmp 0x101d0e7e
mov ecx, dword [ebp - 0x274]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x93c], edx
mov eax, dword [ebp - 0x93c]
mov dword [ebp - 0x38], eax
mov ecx, 1
test ecx, ecx
je 0x101d0e0d
mov edx, dword [ebp - 0x274]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0x940], ecx
mov edx, dword [ebp - 0x274]
mov eax, dword [edx + 4]
sub eax, 4
mov dword [ebp - 0x944], eax
mov ecx, dword [ebp - 0x10f0]
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x4cc], edx
mov eax, dword [ebp - 0x940]
push eax
mov ecx, dword [ebp - 0x944]
push ecx
mov edx, dword [ebp - 0x4cc]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x948], eax
mov ecx, dword [ebp - 0x948]
add ecx, 4
mov dword [ebp - 0x94c], ecx
cmp dword [ebp - 0x38c], 0
jne 0x101d0df3
jmp 0x101d0e01
mov edx, dword [ebp - 0x38c]
mov eax, dword [ebp - 0x94c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x274]
mov byte [ecx + 0x10], 1
jmp 0x101d0e77
mov edx, dword [ebp - 0x274]
mov eax, dword [edx + 0xc]
shl eax, 2
mov dword [ebp - 0x950], eax
mov ecx, dword [ebp - 0x274]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x954], edx
mov eax, dword [ebp - 0x10f4]
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x4d0], ecx
mov edx, dword [ebp - 0x950]
push edx
mov eax, dword [ebp - 0x954]
push eax
mov ecx, dword [ebp - 0x4d0]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x38c], 0
jne 0x101d0e6c
jmp 0x101d0e77
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x38c]
mov dword [eax], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x258]
add ecx, 0x78
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x958], 0x10219a30
mov edx, dword [ebp - 0x390]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x101d0eb5
mov ecx, 0xe
add ecx, 1
mov dword [ebp - 0x4d4], ecx
jmp 0x101d0ebf
mov dword [ebp - 0x4d4], 0xe
mov edx, dword [ebp - 0x4d4]
mov dword [ebp - 0x4d8], edx
mov eax, dword [ebp - 0x390]
cmp dword [eax + 4], 0
je 0x101d0f1b
mov ecx, dword [ebp - 0x390]
cmp dword [ecx + 8], 0
je 0x101d0eec
mov byte [ebp - 0x2c4], 1
jmp 0x101d0ef3
mov byte [ebp - 0x2c4], 0
mov dl, byte [ebp - 0x2c4]
mov byte [ebp - 0x2d5], dl
movzx eax, byte [ebp - 0x2d5]
test eax, eax
je 0x101d0f1b
mov ecx, dword [ebp - 0x390]
mov edx, dword [ebp - 0x4d8]
cmp edx, dword [ecx + 0xc]
jbe 0x101d0f45
mov dword [ebp - 0x444], 0
mov eax, dword [ebp - 0x248]
or eax, 1
mov dword [ebp - 0x248], eax
lea ecx, [ebp - 0x444]
mov dword [ebp - 0x984], ecx
jmp 0x101d108f
mov edx, dword [ebp - 0x958]
mov dword [ebp - 0x95c], edx
mov eax, dword [ebp - 0x95c]
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x390]
add ecx, 8
mov dword [ebp - 0x960], ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4d8]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x964], edx
mov eax, dword [ebp - 0x964]
mov ecx, dword [ebp - 0x968]
mov dword [eax], ecx
mov edx, 0xe
shl edx, 2
mov eax, dword [ebp - 0x390]
add edx, dword [eax + 4]
mov dword [ebp - 0x4dc], edx
mov ecx, dword [ebp - 0x4dc]
cmp dword [ecx], 0
je 0x101d0ff6
mov edx, dword [ebp - 0x4dc]
mov eax, dword [edx]
mov dword [ebp - 0x96c], eax
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x970], ecx
lea edx, [ebp - 0x970]
mov dword [ebp - 0x974], edx
mov eax, dword [ebp - 0x248]
or eax, 2
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x974]
mov dword [ebp - 0x4e0], ecx
jmp 0x101d1027
mov dword [ebp - 0x978], 0
lea edx, [ebp - 0x978]
mov dword [ebp - 0x97c], edx
mov eax, dword [ebp - 0x248]
or eax, 4
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x97c]
mov dword [ebp - 0x4e0], ecx
mov edx, dword [ebp - 0x4e0]
mov dword [ebp - 0x980], edx
mov eax, dword [ebp - 0x980]
mov ecx, dword [eax]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x248]
or edx, 8
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
and eax, 4
je 0x101d1062
and dword [ebp - 0x248], 0xfffffffb
mov ecx, dword [ebp - 0x248]
and ecx, 2
je 0x101d1074
and dword [ebp - 0x248], 0xfffffffd
mov edx, dword [ebp - 0x248]
or edx, 1
mov dword [ebp - 0x248], edx
lea eax, [ebp - 0x444]
mov dword [ebp - 0x984], eax
mov ecx, dword [ebp - 0x258]
add ecx, 0x78
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x988], 0x102199b0
mov edx, dword [ebp - 0x378]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x101d10c6
mov ecx, 0x13
add ecx, 1
mov dword [ebp - 0x4e4], ecx
jmp 0x101d10d0
mov dword [ebp - 0x4e4], 0x13
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x378]
cmp dword [eax + 4], 0
je 0x101d112c
mov ecx, dword [ebp - 0x378]
cmp dword [ecx + 8], 0
je 0x101d10fd
mov byte [ebp - 0x2c3], 1
jmp 0x101d1104
mov byte [ebp - 0x2c3], 0
mov dl, byte [ebp - 0x2c3]
mov byte [ebp - 0x2d6], dl
movzx eax, byte [ebp - 0x2d6]
test eax, eax
je 0x101d112c
mov ecx, dword [ebp - 0x378]
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ecx + 0xc]
jbe 0x101d1156
mov dword [ebp - 0x448], 0
mov eax, dword [ebp - 0x248]
or eax, 0x10
mov dword [ebp - 0x248], eax
lea ecx, [ebp - 0x448]
mov dword [ebp - 0x9b4], ecx
jmp 0x101d12a3
mov edx, dword [ebp - 0x988]
mov dword [ebp - 0x98c], edx
mov eax, dword [ebp - 0x98c]
mov dword [ebp - 0x998], eax
mov ecx, dword [ebp - 0x378]
add ecx, 8
mov dword [ebp - 0x990], ecx
mov edx, dword [ebp - 0x990]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4e8]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x994], edx
mov eax, dword [ebp - 0x994]
mov ecx, dword [ebp - 0x998]
mov dword [eax], ecx
mov edx, 0x13
shl edx, 2
mov eax, dword [ebp - 0x378]
add edx, dword [eax + 4]
mov dword [ebp - 0x4ec], edx
mov ecx, dword [ebp - 0x4ec]
cmp dword [ecx], 0
je 0x101d1207
mov edx, dword [ebp - 0x4ec]
mov eax, dword [edx]
mov dword [ebp - 0x99c], eax
mov ecx, dword [ebp - 0x99c]
mov dword [ebp - 0x9a0], ecx
lea edx, [ebp - 0x9a0]
mov dword [ebp - 0x9a4], edx
mov eax, dword [ebp - 0x248]
or eax, 0x20
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x9a4]
mov dword [ebp - 0x4f0], ecx
jmp 0x101d1238
mov dword [ebp - 0x9a8], 0
lea edx, [ebp - 0x9a8]
mov dword [ebp - 0x9ac], edx
mov eax, dword [ebp - 0x248]
or eax, 0x40
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x9ac]
mov dword [ebp - 0x4f0], ecx
mov edx, dword [ebp - 0x4f0]
mov dword [ebp - 0x9b0], edx
mov eax, dword [ebp - 0x9b0]
mov ecx, dword [eax]
mov dword [ebp - 0x448], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x80
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
and eax, 0x40
je 0x101d1276
and dword [ebp - 0x248], 0xffffffbf
mov ecx, dword [ebp - 0x248]
and ecx, 0x20
je 0x101d1288
and dword [ebp - 0x248], 0xffffffdf
mov edx, dword [ebp - 0x248]
or edx, 0x10
mov dword [ebp - 0x248], edx
lea eax, [ebp - 0x448]
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x258]
add ecx, 0x14
mov dword [ebp - 0x278], ecx
mov edx, dword [0x1034acb0]
mov dword [ebp - 0x9b8], edx
lea eax, [ebp - 0x394]
mov dword [ebp - 0x4f4], eax
mov ecx, dword [ebp - 0x4f4]
mov edx, dword [ebp - 0x9b8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4f4]
mov dword [ebp - 0x10f8], eax
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x394]
mov dword [ecx], edx
mov eax, dword [ebp - 0x394]
mov ecx, dword [eax]
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x278]
mov eax, dword [ebp - 0x9bc]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x278]
cmp dword [ecx + 4], 0
jne 0x101d132e
mov dword [ebp - 4], 0xffffffff
jmp 0x101d15d4
mov dword [ebp - 0x3d4], 0
mov edx, dword [ebp - 0x278]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x3d4]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x4f8], edx
cmp dword [ebp - 0x4f8], 0
jne 0x101d1362
mov byte [ebp - 0x266], 0
jmp 0x101d13b9
mov eax, dword [0x10311c54]
mov dword [ebp - 0x9c0], eax
push 0x1c
lea ecx, [ebp - 0x1c0]
push ecx
mov edx, dword [ebp - 0x4f8]
push edx
call dword [ebp - 0x9c0]
test eax, eax
jne 0x101d1390
mov byte [ebp - 0x266], 0
jmp 0x101d13b9
mov eax, dword [ebp - 0x1ac]
and eax, 1
jne 0x101d13a9
mov ecx, dword [ebp - 0x1ac]
and ecx, 0x100
je 0x101d13b2
mov byte [ebp - 0x266], 0
jmp 0x101d13b9
mov byte [ebp - 0x266], 1
movzx edx, byte [ebp - 0x266]
test edx, edx
je 0x101d13d8
mov eax, dword [ebp - 0x3d4]
add eax, 1
mov dword [ebp - 0x3d4], eax
jmp 0x101d1338
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x3d4]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x278]
cmp dword [eax + 0xc], 0
jne 0x101d13ff
mov dword [ebp - 4], 0xffffffff
jmp 0x101d15d4
mov ecx, 1
test ecx, ecx
je 0x101d141c
mov edx, dword [ebp - 0x278]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x4fc], eax
jmp 0x101d142b
mov ecx, dword [ebp - 0x278]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4fc], edx
mov eax, dword [ebp - 0x4fc]
push eax
lea ecx, [ebp - 0x9c8]
push ecx
call fcn.1005edd0
add esp, 8
mov dword [ebp - 0x9c4], eax
mov edx, dword [ebp - 0x9c4]
push edx
mov ecx, dword [ebp - 0x278]
add ecx, 8
call fcn.1005eed0
lea ecx, [ebp - 0x9c8]
call fcn.1005bf90
mov eax, dword [ebp - 0x278]
cmp dword [eax + 8], 0
je 0x101d147c
mov byte [ebp - 0x2c1], 1
jmp 0x101d1483
mov byte [ebp - 0x2c1], 0
mov cl, byte [ebp - 0x2c1]
mov byte [ebp - 0x2d7], cl
movzx edx, byte [ebp - 0x2d7]
test edx, edx
jne 0x101d14a6
mov dword [ebp - 4], 0xffffffff
jmp 0x101d15d4
mov eax, dword [ebp - 0x278]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x9cc], ecx
mov edx, dword [ebp - 0x9cc]
mov dword [ebp - 0x18], edx
mov eax, 1
test eax, eax
je 0x101d1563
mov ecx, dword [ebp - 0x278]
mov edx, dword [ecx + 0xc]
lea eax, [edx*4 + 4]
mov dword [ebp - 0x9d0], eax
mov ecx, dword [ebp - 0x278]
mov edx, dword [ecx + 4]
sub edx, 4
mov dword [ebp - 0x9d4], edx
mov eax, dword [ebp - 0x10fc]
mov dword [ebp - 0x500], eax
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x500], ecx
mov edx, dword [ebp - 0x9d0]
push edx
mov eax, dword [ebp - 0x9d4]
push eax
mov ecx, dword [ebp - 0x500]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x9d8], edx
mov eax, dword [ebp - 0x9d8]
add eax, 4
mov dword [ebp - 0x9dc], eax
cmp dword [ebp - 0x394], 0
jne 0x101d1549
jmp 0x101d1557
mov ecx, dword [ebp - 0x394]
mov edx, dword [ebp - 0x9dc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x278]
mov byte [eax + 0x10], 1
jmp 0x101d15cd
mov ecx, dword [ebp - 0x278]
mov edx, dword [ecx + 0xc]
shl edx, 2
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x278]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x9e4], ecx
mov edx, dword [ebp - 0x1100]
mov dword [ebp - 0x504], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x9e0]
push ecx
mov edx, dword [ebp - 0x9e4]
push edx
mov eax, dword [ebp - 0x504]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x394], 0
jne 0x101d15c2
jmp 0x101d15cd
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x394]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x258]
add eax, 0x14
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x9e8], 0x10204f20
mov ecx, dword [ebp - 0x398]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101d160b
mov eax, 0x10
add eax, 1
mov dword [ebp - 0x508], eax
jmp 0x101d1615
mov dword [ebp - 0x508], 0x10
mov ecx, dword [ebp - 0x508]
mov dword [ebp - 0x50c], ecx
mov edx, dword [ebp - 0x398]
cmp dword [edx + 4], 0
je 0x101d1671
mov eax, dword [ebp - 0x398]
cmp dword [eax + 8], 0
je 0x101d1642
mov byte [ebp - 0x2c0], 1
jmp 0x101d1649
mov byte [ebp - 0x2c0], 0
mov cl, byte [ebp - 0x2c0]
mov byte [ebp - 0x2d8], cl
movzx edx, byte [ebp - 0x2d8]
test edx, edx
je 0x101d1671
mov eax, dword [ebp - 0x398]
mov ecx, dword [ebp - 0x50c]
cmp ecx, dword [eax + 0xc]
jbe 0x101d169e
mov dword [ebp - 0x44c], 0
mov edx, dword [ebp - 0x248]
or edx, 0x100
mov dword [ebp - 0x248], edx
lea eax, [ebp - 0x44c]
mov dword [ebp - 0xa14], eax
jmp 0x101d17ff
mov ecx, dword [ebp - 0x9e8]
mov dword [ebp - 0x9ec], ecx
mov edx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x398]
add eax, 8
mov dword [ebp - 0x9f0], eax
mov ecx, dword [ebp - 0x9f0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x50c]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x9f4], ecx
mov edx, dword [ebp - 0x9f4]
mov eax, dword [ebp - 0x9f8]
mov dword [edx], eax
mov ecx, 0x10
shl ecx, 2
mov edx, dword [ebp - 0x398]
add ecx, dword [edx + 4]
mov dword [ebp - 0x510], ecx
mov eax, dword [ebp - 0x510]
cmp dword [eax], 0
je 0x101d1752
mov ecx, dword [ebp - 0x510]
mov edx, dword [ecx]
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0x9fc]
mov dword [ebp - 0xa00], eax
lea ecx, [ebp - 0xa00]
mov dword [ebp - 0xa04], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x200
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xa04]
mov dword [ebp - 0x514], eax
jmp 0x101d1786
mov dword [ebp - 0xa08], 0
lea ecx, [ebp - 0xa08]
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x400
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xa0c]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
mov dword [ebp - 0xa10], ecx
mov edx, dword [ebp - 0xa10]
mov eax, dword [edx]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x248]
or ecx, 0x800
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
and edx, 0x400
je 0x101d17ca
and dword [ebp - 0x248], 0xfffffbff
mov eax, dword [ebp - 0x248]
and eax, 0x200
je 0x101d17e1
and dword [ebp - 0x248], 0xfffffdff
mov ecx, dword [ebp - 0x248]
or ecx, 0x100
mov dword [ebp - 0x248], ecx
lea edx, [ebp - 0x44c]
mov dword [ebp - 0xa14], edx
mov eax, dword [ebp - 0x258]
add eax, 0x14
mov dword [ebp - 0x39c], eax
mov dword [ebp - 0xa18], 0x10204d00
mov ecx, dword [ebp - 0x39c]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101d1836
mov eax, 0x11
add eax, 1
mov dword [ebp - 0x518], eax
jmp 0x101d1840
mov dword [ebp - 0x518], 0x11
mov ecx, dword [ebp - 0x518]
mov dword [ebp - 0x51c], ecx
mov edx, dword [ebp - 0x39c]
cmp dword [edx + 4], 0
je 0x101d189c
mov eax, dword [ebp - 0x39c]
cmp dword [eax + 8], 0
je 0x101d186d
mov byte [ebp - 0x2bf], 1
jmp 0x101d1874
mov byte [ebp - 0x2bf], 0
mov cl, byte [ebp - 0x2bf]
mov byte [ebp - 0x2d9], cl
movzx edx, byte [ebp - 0x2d9]
test edx, edx
je 0x101d189c
mov eax, dword [ebp - 0x39c]
mov ecx, dword [ebp - 0x51c]
cmp ecx, dword [eax + 0xc]
jbe 0x101d18c9
mov dword [ebp - 0x450], 0
mov edx, dword [ebp - 0x248]
or edx, 0x1000
mov dword [ebp - 0x248], edx
lea eax, [ebp - 0x450]
mov dword [ebp - 0xa44], eax
jmp 0x101d1a2a
mov ecx, dword [ebp - 0xa18]
mov dword [ebp - 0xa1c], ecx
mov edx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa28], edx
mov eax, dword [ebp - 0x39c]
add eax, 8
mov dword [ebp - 0xa20], eax
mov ecx, dword [ebp - 0xa20]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x51c]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xa24], ecx
mov edx, dword [ebp - 0xa24]
mov eax, dword [ebp - 0xa28]
mov dword [edx], eax
mov ecx, 0x11
shl ecx, 2
mov edx, dword [ebp - 0x39c]
add ecx, dword [edx + 4]
mov dword [ebp - 0x520], ecx
mov eax, dword [ebp - 0x520]
cmp dword [eax], 0
je 0x101d197d
mov ecx, dword [ebp - 0x520]
mov edx, dword [ecx]
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa2c]
mov dword [ebp - 0xa30], eax
lea ecx, [ebp - 0xa30]
mov dword [ebp - 0xa34], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x2000
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xa34]
mov dword [ebp - 0x524], eax
jmp 0x101d19b1
mov dword [ebp - 0xa38], 0
lea ecx, [ebp - 0xa38]
mov dword [ebp - 0xa3c], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x4000
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xa3c]
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
mov dword [ebp - 0xa40], ecx
mov edx, dword [ebp - 0xa40]
mov eax, dword [edx]
mov dword [ebp - 0x450], eax
mov ecx, dword [ebp - 0x248]
or ecx, 0x8000
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
and edx, 0x4000
je 0x101d19f5
and dword [ebp - 0x248], 0xffffbfff
mov eax, dword [ebp - 0x248]
and eax, 0x2000
je 0x101d1a0c
and dword [ebp - 0x248], 0xffffdfff
mov ecx, dword [ebp - 0x248]
or ecx, 0x1000
mov dword [ebp - 0x248], ecx
lea edx, [ebp - 0x450]
mov dword [ebp - 0xa44], edx
mov eax, dword [ebp - 0x258]
add eax, 0x14
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0xa48], 0x102049a0
mov ecx, dword [ebp - 0x3a0]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101d1a61
mov eax, 0x12
add eax, 1
mov dword [ebp - 0x528], eax
jmp 0x101d1a6b
mov dword [ebp - 0x528], 0x12
mov ecx, dword [ebp - 0x528]
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x3a0]
cmp dword [edx + 4], 0
je 0x101d1ac7
mov eax, dword [ebp - 0x3a0]
cmp dword [eax + 8], 0
je 0x101d1a98
mov byte [ebp - 0x2be], 1
jmp 0x101d1a9f
mov byte [ebp - 0x2be], 0
mov cl, byte [ebp - 0x2be]
mov byte [ebp - 0x2da], cl
movzx edx, byte [ebp - 0x2da]
test edx, edx
je 0x101d1ac7
mov eax, dword [ebp - 0x3a0]
mov ecx, dword [ebp - 0x52c]
cmp ecx, dword [eax + 0xc]
jbe 0x101d1af4
mov dword [ebp - 0x454], 0
mov edx, dword [ebp - 0x248]
or edx, 0x10000
mov dword [ebp - 0x248], edx
lea eax, [ebp - 0x454]
mov dword [ebp - 0xa74], eax
jmp 0x101d1c55
mov ecx, dword [ebp - 0xa48]
mov dword [ebp - 0xa4c], ecx
mov edx, dword [ebp - 0xa4c]
mov dword [ebp - 0xa58], edx
mov eax, dword [ebp - 0x3a0]
add eax, 8
mov dword [ebp - 0xa50], eax
mov ecx, dword [ebp - 0xa50]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x52c]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xa54], ecx
mov edx, dword [ebp - 0xa54]
mov eax, dword [ebp - 0xa58]
mov dword [edx], eax
mov ecx, 0x12
shl ecx, 2
mov edx, dword [ebp - 0x3a0]
add ecx, dword [edx + 4]
mov dword [ebp - 0x530], ecx
mov eax, dword [ebp - 0x530]
cmp dword [eax], 0
je 0x101d1ba8
mov ecx, dword [ebp - 0x530]
mov edx, dword [ecx]
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0xa5c]
mov dword [ebp - 0xa60], eax
lea ecx, [ebp - 0xa60]
mov dword [ebp - 0xa64], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x20000
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xa64]
mov dword [ebp - 0x534], eax
jmp 0x101d1bdc
mov dword [ebp - 0xa68], 0
lea ecx, [ebp - 0xa68]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x40000
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xa6c]
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0xa70], ecx
mov edx, dword [ebp - 0xa70]
mov eax, dword [edx]
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x248]
or ecx, 0x80000
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
and edx, 0x40000
je 0x101d1c20
and dword [ebp - 0x248], 0xfffbffff
mov eax, dword [ebp - 0x248]
and eax, 0x20000
je 0x101d1c37
and dword [ebp - 0x248], 0xfffdffff
mov ecx, dword [ebp - 0x248]
or ecx, 0x10000
mov dword [ebp - 0x248], ecx
lea edx, [ebp - 0x454]
mov dword [ebp - 0xa74], edx
mov eax, dword [ebp - 0x258]
add eax, 0x14
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0xa78], 0x10204f70
mov ecx, dword [ebp - 0x3a4]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101d1c8c
mov eax, 0x18
add eax, 1
mov dword [ebp - 0x538], eax
jmp 0x101d1c96
mov dword [ebp - 0x538], 0x18
mov ecx, dword [ebp - 0x538]
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x3a4]
cmp dword [edx + 4], 0
je 0x101d1cf2
mov eax, dword [ebp - 0x3a4]
cmp dword [eax + 8], 0
je 0x101d1cc3
mov byte [ebp - 0x2bd], 1
jmp 0x101d1cca
mov byte [ebp - 0x2bd], 0
mov cl, byte [ebp - 0x2bd]
mov byte [ebp - 0x2db], cl
movzx edx, byte [ebp - 0x2db]
test edx, edx
je 0x101d1cf2
mov eax, dword [ebp - 0x3a4]
mov ecx, dword [ebp - 0x53c]
cmp ecx, dword [eax + 0xc]
jbe 0x101d1d1f
mov dword [ebp - 0x458], 0
mov edx, dword [ebp - 0x248]
or edx, 0x100000
mov dword [ebp - 0x248], edx
lea eax, [ebp - 0x458]
mov dword [ebp - 0xaa4], eax
jmp 0x101d1e80
mov ecx, dword [ebp - 0xa78]
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0xa7c]
mov dword [ebp - 0xa88], edx
mov eax, dword [ebp - 0x3a4]
add eax, 8
mov dword [ebp - 0xa80], eax
mov ecx, dword [ebp - 0xa80]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x53c]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xa84], ecx
mov edx, dword [ebp - 0xa84]
mov eax, dword [ebp - 0xa88]
mov dword [edx], eax
mov ecx, 0x18
shl ecx, 2
mov edx, dword [ebp - 0x3a4]
add ecx, dword [edx + 4]
mov dword [ebp - 0x540], ecx
mov eax, dword [ebp - 0x540]
cmp dword [eax], 0
je 0x101d1dd3
mov ecx, dword [ebp - 0x540]
mov edx, dword [ecx]
mov dword [ebp - 0xa8c], edx
mov eax, dword [ebp - 0xa8c]
mov dword [ebp - 0xa90], eax
lea ecx, [ebp - 0xa90]
mov dword [ebp - 0xa94], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x200000
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xa94]
mov dword [ebp - 0x544], eax
jmp 0x101d1e07
mov dword [ebp - 0xa98], 0
lea ecx, [ebp - 0xa98]
mov dword [ebp - 0xa9c], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x400000
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xa9c]
mov dword [ebp - 0x544], eax
mov ecx, dword [ebp - 0x544]
mov dword [ebp - 0xaa0], ecx
mov edx, dword [ebp - 0xaa0]
mov eax, dword [edx]
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x248]
or ecx, 0x800000
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
and edx, 0x400000
je 0x101d1e4b
and dword [ebp - 0x248], 0xffbfffff
mov eax, dword [ebp - 0x248]
and eax, 0x200000
je 0x101d1e62
and dword [ebp - 0x248], 0xffdfffff
mov ecx, dword [ebp - 0x248]
or ecx, 0x100000
mov dword [ebp - 0x248], ecx
lea edx, [ebp - 0x458]
mov dword [ebp - 0xaa4], edx
mov eax, dword [ebp - 0x258]
add eax, 0x14
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0xaa8], 0x10205170
mov ecx, dword [ebp - 0x3a8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x101d1eb7
mov eax, 0x2c
add eax, 1
mov dword [ebp - 0x548], eax
jmp 0x101d1ec1
mov dword [ebp - 0x548], 0x2c
mov ecx, dword [ebp - 0x548]
mov dword [ebp - 0x54c], ecx
mov edx, dword [ebp - 0x3a8]
cmp dword [edx + 4], 0
je 0x101d1f1d
mov eax, dword [ebp - 0x3a8]
cmp dword [eax + 8], 0
je 0x101d1eee
mov byte [ebp - 0x2bc], 1
jmp 0x101d1ef5
mov byte [ebp - 0x2bc], 0
mov cl, byte [ebp - 0x2bc]
mov byte [ebp - 0x2dc], cl
movzx edx, byte [ebp - 0x2dc]
test edx, edx
je 0x101d1f1d
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [ebp - 0x54c]
cmp ecx, dword [eax + 0xc]
jbe 0x101d1f4a
mov dword [ebp - 0x45c], 0
mov edx, dword [ebp - 0x248]
or edx, 0x1000000
mov dword [ebp - 0x248], edx
lea eax, [ebp - 0x45c]
mov dword [ebp - 0xad4], eax
jmp 0x101d20ab
mov ecx, dword [ebp - 0xaa8]
mov dword [ebp - 0xaac], ecx
mov edx, dword [ebp - 0xaac]
mov dword [ebp - 0xab8], edx
mov eax, dword [ebp - 0x3a8]
add eax, 8
mov dword [ebp - 0xab0], eax
mov ecx, dword [ebp - 0xab0]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x54c]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xab4], ecx
mov edx, dword [ebp - 0xab4]
mov eax, dword [ebp - 0xab8]
mov dword [edx], eax
mov ecx, 0x2c
shl ecx, 2
mov edx, dword [ebp - 0x3a8]
add ecx, dword [edx + 4]
mov dword [ebp - 0x550], ecx
mov eax, dword [ebp - 0x550]
cmp dword [eax], 0
je 0x101d1ffe
mov ecx, dword [ebp - 0x550]
mov edx, dword [ecx]
mov dword [ebp - 0xabc], edx
mov eax, dword [ebp - 0xabc]
mov dword [ebp - 0xac0], eax
lea ecx, [ebp - 0xac0]
mov dword [ebp - 0xac4], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x2000000
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xac4]
mov dword [ebp - 0x554], eax
jmp 0x101d2032
mov dword [ebp - 0xac8], 0
lea ecx, [ebp - 0xac8]
mov dword [ebp - 0xacc], ecx
mov edx, dword [ebp - 0x248]
or edx, 0x4000000
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0xacc]
mov dword [ebp - 0x554], eax
mov ecx, dword [ebp - 0x554]
mov dword [ebp - 0xad0], ecx
mov edx, dword [ebp - 0xad0]
mov eax, dword [edx]
mov dword [ebp - 0x45c], eax
mov ecx, dword [ebp - 0x248]
or ecx, 0x8000000
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0x248]
and edx, 0x4000000
je 0x101d2076
and dword [ebp - 0x248], 0xfbffffff
mov eax, dword [ebp - 0x248]
and eax, 0x2000000
je 0x101d208d
and dword [ebp - 0x248], 0xfdffffff
mov ecx, dword [ebp - 0x248]
or ecx, 0x1000000
mov dword [ebp - 0x248], ecx
lea edx, [ebp - 0x45c]
mov dword [ebp - 0xad4], edx
mov eax, dword [ebp - 0x258]
add eax, 0x8c
mov dword [ebp - 0x27c], eax
mov ecx, dword [0x1034ac64]
mov dword [ebp - 0xad8], ecx
lea edx, [ebp - 0x3ac]
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x558]
mov ecx, dword [ebp - 0xad8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x558]
mov dword [ebp - 0x1104], edx
mov dword [ebp - 4], 5
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x3ac]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3ac]
mov eax, dword [edx]
mov dword [ebp - 0xadc], eax
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0xadc]
mov dword [ecx + 4], edx
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 4], 0
jne 0x101d2138
mov dword [ebp - 4], 0xffffffff
jmp 0x101d23de
mov dword [ebp - 0x3d8], 0
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x55c], ecx
cmp dword [ebp - 0x55c], 0
jne 0x101d216c
mov byte [ebp - 0x264], 0
jmp 0x101d21c3
mov edx, dword [0x10311c54]
mov dword [ebp - 0xae0], edx
push 0x1c
lea eax, [ebp - 0x188]
push eax
mov ecx, dword [ebp - 0x55c]
push ecx
call dword [ebp - 0xae0]
test eax, eax
jne 0x101d219b
mov byte [ebp - 0x264], 0
jmp 0x101d21c3
mov edx, dword [ebp - 0x174]
and edx, 1
jne 0x101d21b3
mov eax, dword [ebp - 0x174]
and eax, 0x100
je 0x101d21bc
mov byte [ebp - 0x264], 0
jmp 0x101d21c3
mov byte [ebp - 0x264], 1
movzx ecx, byte [ebp - 0x264]
test ecx, ecx
je 0x101d21e2
mov edx, dword [ebp - 0x3d8]
add edx, 1
mov dword [ebp - 0x3d8], edx
jmp 0x101d2142
mov eax, dword [ebp - 0x27c]
mov ecx, dword [ebp - 0x3d8]
mov dword [eax + 0xc], ecx
mov edx, dword [ebp - 0x27c]
cmp dword [edx + 0xc], 0
jne 0x101d2209
mov dword [ebp - 4], 0xffffffff
jmp 0x101d23de
mov eax, 1
test eax, eax
je 0x101d2226
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x560], edx
jmp 0x101d2235
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x560], ecx
mov edx, dword [ebp - 0x560]
push edx
lea eax, [ebp - 0xae8]
push eax
call fcn.1005edd0
add esp, 8
mov dword [ebp - 0xae4], eax
mov ecx, dword [ebp - 0xae4]
push ecx
mov ecx, dword [ebp - 0x27c]
add ecx, 8
call fcn.1005eed0
lea ecx, [ebp - 0xae8]
call fcn.1005bf90
mov edx, dword [ebp - 0x27c]
cmp dword [edx + 8], 0
je 0x101d2286
mov byte [ebp - 0x2bb], 1
jmp 0x101d228d
mov byte [ebp - 0x2bb], 0
mov al, byte [ebp - 0x2bb]
mov byte [ebp - 0x2dd], al
movzx ecx, byte [ebp - 0x2dd]
test ecx, ecx
jne 0x101d22b0
mov dword [ebp - 4], 0xffffffff
jmp 0x101d23de
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 8]
mov dword [ebp - 0xaec], eax
mov ecx, dword [ebp - 0xaec]
mov dword [ebp - 0x1c], ecx
mov edx, 1
test edx, edx
je 0x101d236d
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0xaf0], edx
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 4]
sub ecx, 4
mov dword [ebp - 0xaf4], ecx
mov edx, dword [ebp - 0x1108]
mov dword [ebp - 0x564], edx
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0xaf0]
push ecx
mov edx, dword [ebp - 0xaf4]
push edx
mov eax, dword [ebp - 0x564]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0xaf8], ecx
mov edx, dword [ebp - 0xaf8]
add edx, 4
mov dword [ebp - 0xafc], edx
cmp dword [ebp - 0x3ac], 0
jne 0x101d2353
jmp 0x101d2361
mov eax, dword [ebp - 0x3ac]
mov ecx, dword [ebp - 0xafc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x27c]
mov byte [edx + 0x10], 1
jmp 0x101d23d7
mov eax, dword [ebp - 0x27c]
mov ecx, dword [eax + 0xc]
shl ecx, 2
mov dword [ebp - 0xb00], ecx
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 4]
mov dword [ebp - 0xb04], eax
mov ecx, dword [ebp - 0x110c]
mov dword [ebp - 0x568], ecx
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x568], edx
mov eax, dword [ebp - 0xb00]
push eax
mov ecx, dword [ebp - 0xb04]
push ecx
mov edx, dword [ebp - 0x568]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x3ac], 0
jne 0x101d23cc
jmp 0x101d23d7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x3ac]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x258]
add edx, 0x8c
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0xb08], 0x101f74e0
mov eax, dword [ebp - 0x3b0]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x101d2418
mov edx, 0x43
add edx, 1
mov dword [ebp - 0x56c], edx
jmp 0x101d2422
mov dword [ebp - 0x56c], 0x43
mov eax, dword [ebp - 0x56c]
mov dword [ebp - 0x570], eax
mov ecx, dword [ebp - 0x3b0]
cmp dword [ecx + 4], 0
je 0x101d247e
mov edx, dword [ebp - 0x3b0]
cmp dword [edx + 8], 0
je 0x101d244f
mov byte [ebp - 0x2ba], 1
jmp 0x101d2456
mov byte [ebp - 0x2ba], 0
mov al, byte [ebp - 0x2ba]
mov byte [ebp - 0x2de], al
movzx ecx, byte [ebp - 0x2de]
test ecx, ecx
je 0x101d247e
mov edx, dword [ebp - 0x3b0]
mov eax, dword [ebp - 0x570]
cmp eax, dword [edx + 0xc]
jbe 0x101d24ab
mov dword [ebp - 0x460], 0
mov ecx, dword [ebp - 0x248]
or ecx, 0x10000000
mov dword [ebp - 0x248], ecx
lea edx, [ebp - 0x460]
mov dword [ebp - 0xb34], edx
jmp 0x101d260b
mov eax, dword [ebp - 0xb08]
mov dword [ebp - 0xb0c], eax
mov ecx, dword [ebp - 0xb0c]
mov dword [ebp - 0xb18], ecx
mov edx, dword [ebp - 0x3b0]
add edx, 8
mov dword [ebp - 0xb10], edx
mov eax, dword [ebp - 0xb10]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x570]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xb14], eax
mov ecx, dword [ebp - 0xb14]
mov edx, dword [ebp - 0xb18]
mov dword [ecx], edx
mov eax, 0x43
shl eax, 2
mov ecx, dword [ebp - 0x3b0]
add eax, dword [ecx + 4]
mov dword [ebp - 0x574], eax
mov edx, dword [ebp - 0x574]
cmp dword [edx], 0
je 0x101d255f
mov eax, dword [ebp - 0x574]
mov ecx, dword [eax]
mov dword [ebp - 0xb1c], ecx
mov edx, dword [ebp - 0xb1c]
mov dword [ebp - 0xb20], edx
lea eax, [ebp - 0xb20]
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0x248]
or ecx, 0x20000000
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0xb24]
mov dword [ebp - 0x578], edx
jmp 0x101d2593
mov dword [ebp - 0xb28], 0
lea eax, [ebp - 0xb28]
mov dword [ebp - 0xb2c], eax
mov ecx, dword [ebp - 0x248]
or ecx, 0x40000000
mov dword [ebp - 0x248], ecx
mov edx, dword [ebp - 0xb2c]
mov dword [ebp - 0x578], edx
mov eax, dword [ebp - 0x578]
mov dword [ebp - 0xb30], eax
mov ecx, dword [ebp - 0xb30]
mov edx, dword [ecx]
mov dword [ebp - 0x460], edx
mov eax, dword [ebp - 0x248]
or eax, 0x80000000
mov dword [ebp - 0x248], eax
mov ecx, dword [ebp - 0x248]
and ecx, 0x40000000
je 0x101d25d6
and dword [ebp - 0x248], 0xbfffffff
mov edx, dword [ebp - 0x248]
and edx, 0x20000000
je 0x101d25ee
and dword [ebp - 0x248], 0xdfffffff
mov eax, dword [ebp - 0x248]
or eax, 0x10000000
mov dword [ebp - 0x248], eax
lea ecx, [ebp - 0x460]
mov dword [ebp - 0xb34], ecx
mov edx, dword [ebp - 0x258]
add edx, 0x8c
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0xb38], 0x101f7480
mov eax, dword [ebp - 0x30c]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x101d2645
mov edx, 0x52
add edx, 1
mov dword [ebp - 0x57c], edx
jmp 0x101d264f
mov dword [ebp - 0x57c], 0x52
mov eax, dword [ebp - 0x57c]
mov dword [ebp - 0x580], eax
mov ecx, dword [ebp - 0x30c]
cmp dword [ecx + 4], 0
je 0x101d26ab
mov edx, dword [ebp - 0x30c]
cmp dword [edx + 8], 0
je 0x101d267c
mov byte [ebp - 0x2b9], 1
jmp 0x101d2683
mov byte [ebp - 0x2b9], 0
mov al, byte [ebp - 0x2b9]
mov byte [ebp - 0x2df], al
movzx ecx, byte [ebp - 0x2df]
test ecx, ecx
je 0x101d26ab
mov edx, dword [ebp - 0x30c]
mov eax, dword [ebp - 0x580]
cmp eax, dword [edx + 0xc]
jbe 0x101d26d5
mov dword [ebp - 0x464], 0
mov ecx, dword [ebp - 0x250]
or ecx, 1
mov dword [ebp - 0x250], ecx
lea edx, [ebp - 0x464]
mov dword [ebp - 0xb64], edx
jmp 0x101d281f
mov eax, dword [ebp - 0xb38]
mov dword [ebp - 0xb3c], eax
mov ecx, dword [ebp - 0xb3c]
mov dword [ebp - 0xb48], ecx
mov edx, dword [ebp - 0x30c]
add edx, 8
mov dword [ebp - 0xb40], edx
mov eax, dword [ebp - 0xb40]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x580]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xb44], eax
mov ecx, dword [ebp - 0xb44]
mov edx, dword [ebp - 0xb48]
mov dword [ecx], edx
mov eax, 0x52
shl eax, 2
mov ecx, dword [ebp - 0x30c]
add eax, dword [ecx + 4]
mov dword [ebp - 0x584], eax
mov edx, dword [ebp - 0x584]
cmp dword [edx], 0
je 0x101d2786
mov eax, dword [ebp - 0x584]
mov ecx, dword [eax]
mov dword [ebp - 0xb4c], ecx
mov edx, dword [ebp - 0xb4c]
mov dword [ebp - 0xb50], edx
lea eax, [ebp - 0xb50]
mov dword [ebp - 0xb54], eax
mov ecx, dword [ebp - 0x250]
or ecx, 2
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0xb54]
mov dword [ebp - 0x588], edx
jmp 0x101d27b7
mov dword [ebp - 0xb58], 0
lea eax, [ebp - 0xb58]
mov dword [ebp - 0xb5c], eax
mov ecx, dword [ebp - 0x250]
or ecx, 4
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0xb5c]
mov dword [ebp - 0x588], edx
mov eax, dword [ebp - 0x588]
mov dword [ebp - 0xb60], eax
mov ecx, dword [ebp - 0xb60]
mov edx, dword [ecx]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x250]
or eax, 8
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
and ecx, 4
je 0x101d27f2
and dword [ebp - 0x250], 0xfffffffb
mov edx, dword [ebp - 0x250]
and edx, 2
je 0x101d2804
and dword [ebp - 0x250], 0xfffffffd
mov eax, dword [ebp - 0x250]
or eax, 1
mov dword [ebp - 0x250], eax
lea ecx, [ebp - 0x464]
mov dword [ebp - 0xb64], ecx
mov edx, dword [ebp - 0x258]
add edx, 0x8c
mov dword [ebp - 0x314], edx
mov dword [ebp - 0xb68], 0x101f7410
mov eax, dword [ebp - 0x314]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x101d2859
mov edx, 0x74
add edx, 1
mov dword [ebp - 0x58c], edx
jmp 0x101d2863
mov dword [ebp - 0x58c], 0x74
mov eax, dword [ebp - 0x58c]
mov dword [ebp - 0x590], eax
mov ecx, dword [ebp - 0x314]
cmp dword [ecx + 4], 0
je 0x101d28bf
mov edx, dword [ebp - 0x314]
cmp dword [edx + 8], 0
je 0x101d2890
mov byte [ebp - 0x2b8], 1
jmp 0x101d2897
mov byte [ebp - 0x2b8], 0
mov al, byte [ebp - 0x2b8]
mov byte [ebp - 0x2e0], al
movzx ecx, byte [ebp - 0x2e0]
test ecx, ecx
je 0x101d28bf
mov edx, dword [ebp - 0x314]
mov eax, dword [ebp - 0x590]
cmp eax, dword [edx + 0xc]
jbe 0x101d28e9
mov dword [ebp - 0x468], 0
mov ecx, dword [ebp - 0x250]
or ecx, 0x10
mov dword [ebp - 0x250], ecx
lea edx, [ebp - 0x468]
mov dword [ebp - 0xb94], edx
jmp 0x101d2a35
mov eax, dword [ebp - 0xb68]
mov dword [ebp - 0xb6c], eax
mov ecx, dword [ebp - 0xb6c]
mov dword [ebp - 0xb78], ecx
mov edx, dword [ebp - 0x314]
add edx, 8
mov dword [ebp - 0xb70], edx
mov eax, dword [ebp - 0xb70]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x590]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xb74], eax
mov ecx, dword [ebp - 0xb74]
mov edx, dword [ebp - 0xb78]
mov dword [ecx], edx
mov eax, 0x74
shl eax, 2
mov ecx, dword [ebp - 0x314]
add eax, dword [ecx + 4]
mov dword [ebp - 0x594], eax
mov edx, dword [ebp - 0x594]
cmp dword [edx], 0
je 0x101d299a
mov edx, dword [ebp - 0x258]
add edx, 0xdc
mov dword [ebp - 0x280], edx
mov eax, dword [0x1034ac84]
mov dword [ebp - 0xb98], eax
lea ecx, [ebp - 0x32c]
mov dword [ebp - 0x59c], ecx
mov edx, dword [ebp - 0x59c]
mov eax, dword [ebp - 0xb98]
mov dword [edx], eax
mov ecx, dword [ebp - 0x59c]
mov dword [ebp - 0x1110], ecx
mov dword [ebp - 4], 6
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x32c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ecx]
mov dword [ebp - 0xb9c], edx
mov eax, dword [ebp - 0x280]
mov ecx, dword [ebp - 0xb9c]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x280]
cmp dword [edx + 4], 0
jne 0x101d2ac2
mov dword [ebp - 4], 0xffffffff
jmp 0x101d2d69
mov dword [ebp - 0x3e8], 0
mov eax, dword [ebp - 0x280]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x3e8]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x5a0], eax
cmp dword [ebp - 0x5a0], 0
jne 0x101d2af6
mov byte [ebp - 0x262], 0
jmp 0x101d2b4e
mov ecx, dword [0x10311c54]
mov dword [ebp - 0xba0], ecx
push 0x1c
lea edx, [ebp - 0x16c]
push edx
mov eax, dword [ebp - 0x5a0]
push eax
call dword [ebp - 0xba0]
test eax, eax
jne 0x101d2b25
mov ecx, dword [ebp - 0x258]
add ecx, 0xdc
mov dword [ebp - 0x330], ecx
mov dword [ebp - 0xbc8], 0x101c4e50
mov edx, dword [ebp - 0x330]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x101d2da3