Function at 0x1021ffb0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102a98b5
mov eax, dword fs:[0]
push eax
mov eax, 0x17cc
call fcn.10296c20
mov eax, dword [0x10560040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x224], ecx
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x220], 0
mov ecx, 0x108c9974
call fcn.10296940
mov eax, dword [0x105611f8]
mov dword [ebp - 0x119c], eax
mov dword [ebp - 0x114c], 0x10296520
mov ecx, dword [ebp - 0x114c]
mov dword [ebp - 0x1158], ecx
mov edx, dword [ebp - 0x1158]
mov dword [ebp - 0x1174], edx
mov eax, dword [0x108a1c8c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1180], ecx
mov edx, dword [ebp - 0x1174]
push edx
push 0xfffffffffffffffc
mov eax, dword [ebp - 0x1180]
push eax
call dword [ebp - 0x119c]
mov ecx, dword [ebp - 0x224]
mov dword [ecx + 0x6ec], eax
mov edx, dword [ebp - 0x224]
mov dword [ebp - 0x264], edx
mov eax, dword [0x108a1c24]
mov dword [ebp - 0x11a8], eax
lea ecx, [ebp - 0x300]
mov dword [ebp - 0x5ac], ecx
mov edx, dword [ebp - 0x5ac]
mov eax, dword [ebp - 0x11a8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x5ac]
mov dword [ebp - 0x130c], ecx
mov edx, dword [ebp - 0x130c]
mov dword [ebp - 0x1418], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x264]
mov ecx, dword [ebp - 0x300]
mov dword [eax], ecx
mov edx, dword [ebp - 0x300]
mov eax, dword [edx]
mov dword [ebp - 0x1310], eax
mov ecx, dword [ebp - 0x1310]
mov edx, dword [ebp - 0x264]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x264]
cmp dword [eax + 4], 0
jne 0x10220107
mov dword [ebp - 4], 0xffffffff
jmp 0x102203c5
mov dword [ebp - 0x394], 0
mov ecx, dword [ebp - 0x264]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x394]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x1314], ecx
mov edx, dword [ebp - 0x1314]
mov dword [ebp - 0x71c], edx
cmp dword [ebp - 0x71c], 0
jne 0x10220147
mov byte [ebp - 0x232], 0
jmp 0x1022019e
mov eax, dword [0x105611f4]
mov dword [ebp - 0x1318], eax
push 0x1c
lea ecx, [ebp - 0x1d0]
push ecx
mov edx, dword [ebp - 0x71c]
push edx
call dword [ebp - 0x1318]
test eax, eax
jne 0x10220175
mov byte [ebp - 0x232], 0
jmp 0x1022019e
mov eax, dword [ebp - 0x1bc]
and eax, 1
jne 0x1022018e
mov ecx, dword [ebp - 0x1bc]
and ecx, 0x100
je 0x10220197
mov byte [ebp - 0x232], 0
jmp 0x1022019e
mov byte [ebp - 0x232], 1
movzx edx, byte [ebp - 0x232]
test edx, edx
je 0x102201bd
mov eax, dword [ebp - 0x394]
add eax, 1
mov dword [ebp - 0x394], eax
jmp 0x10220111
mov ecx, dword [ebp - 0x394]
mov dword [ebp - 0x131c], ecx
mov edx, dword [ebp - 0x131c]
mov eax, dword [ebp - 0x264]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x264]
cmp dword [ecx + 0xc], 0
jne 0x102201f0
mov dword [ebp - 4], 0xffffffff
jmp 0x102203c5
mov edx, 1
test edx, edx
je 0x1022020d
mov eax, dword [ebp - 0x264]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov dword [ebp - 0x720], ecx
jmp 0x1022021c
mov edx, dword [ebp - 0x264]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x720], eax
mov ecx, dword [ebp - 0x720]
push ecx
lea edx, [ebp - 0x1324]
push edx
call fcn.10080380
add esp, 8
mov dword [ebp - 0x1320], eax
mov eax, dword [ebp - 0x1320]
push eax
mov ecx, dword [ebp - 0x264]
add ecx, 8
call fcn.10080480
lea ecx, [ebp - 0x1324]
call fcn.1007c1e0
mov ecx, dword [ebp - 0x264]
cmp dword [ecx + 8], 0
je 0x1022026d
mov byte [ebp - 0x295], 1
jmp 0x10220274
mov byte [ebp - 0x295], 0
mov dl, byte [ebp - 0x295]
mov byte [ebp - 0x2be], dl
movzx eax, byte [ebp - 0x2be]
test eax, eax
jne 0x10220297
mov dword [ebp - 4], 0xffffffff
jmp 0x102203c5
mov ecx, dword [ebp - 0x264]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1328], edx
mov eax, dword [ebp - 0x1328]
mov dword [ebp - 0x34], eax
mov ecx, 1
test ecx, ecx
je 0x10220354
mov edx, dword [ebp - 0x264]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0x1330], ecx
mov edx, dword [ebp - 0x264]
mov eax, dword [edx + 4]
sub eax, 4
mov dword [ebp - 0x1334], eax
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x132c], ecx
mov edx, dword [ebp - 0x132c]
mov dword [ebp - 0x1338], edx
mov eax, dword [ebp - 0x1330]
push eax
mov ecx, dword [ebp - 0x1334]
push ecx
mov edx, dword [ebp - 0x1338]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x133c], eax
mov ecx, dword [ebp - 0x133c]
add ecx, 4
mov dword [ebp - 0x1340], ecx
cmp dword [ebp - 0x300], 0
jne 0x1022033a
jmp 0x10220348
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x1340]
mov dword [edx], eax
mov ecx, dword [ebp - 0x264]
mov byte [ecx + 0x10], 1
jmp 0x102203be
mov edx, dword [ebp - 0x264]
mov eax, dword [edx + 0xc]
shl eax, 2
mov dword [ebp - 0x1348], eax
mov ecx, dword [ebp - 0x264]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x134c], edx
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x1344], eax
mov ecx, dword [ebp - 0x1344]
mov dword [ebp - 0x778], ecx
mov edx, dword [ebp - 0x1348]
push edx
mov eax, dword [ebp - 0x134c]
push eax
mov ecx, dword [ebp - 0x778]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x300], 0
jne 0x102203b3
jmp 0x102203be
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x300]
mov dword [eax], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x304], ecx
mov dword [ebp - 0x77c], 0x102605a0
mov edx, dword [ebp - 0x77c]
mov dword [ebp - 0x780], edx
mov eax, dword [ebp - 0x304]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10220405
mov edx, 0x29
add edx, 1
mov dword [ebp - 0x724], edx
jmp 0x1022040f
mov dword [ebp - 0x724], 0x29
mov eax, dword [ebp - 0x724]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x304]
cmp dword [ecx + 4], 0
je 0x1022046b
mov edx, dword [ebp - 0x304]
cmp dword [edx + 8], 0
je 0x1022043c
mov byte [ebp - 0x26d], 1
jmp 0x10220443
mov byte [ebp - 0x26d], 0
mov al, byte [ebp - 0x26d]
mov byte [ebp - 0x2bd], al
movzx ecx, byte [ebp - 0x2bd]
test ecx, ecx
je 0x1022046b
mov edx, dword [ebp - 0x304]
mov eax, dword [ebp - 0x728]
cmp eax, dword [edx + 0xc]
jbe 0x10220495
mov dword [ebp - 0x734], 0
mov ecx, dword [ebp - 0x214]
or ecx, 1
mov dword [ebp - 0x214], ecx
lea edx, [ebp - 0x734]
mov dword [ebp - 0x141c], edx
jmp 0x102205eb
mov eax, dword [ebp - 0x780]
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x790], ecx
mov edx, dword [ebp - 0x304]
add edx, 8
mov dword [ebp - 0x788], edx
mov eax, dword [ebp - 0x788]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x728]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x78c]
mov edx, dword [ebp - 0x790]
mov dword [ecx], edx
mov eax, 0x29
shl eax, 2
mov ecx, dword [ebp - 0x304]
add eax, dword [ecx + 4]
mov dword [ebp - 0x72c], eax
mov edx, dword [ebp - 0x72c]
cmp dword [edx], 0
je 0x10220552
mov eax, dword [ebp - 0x72c]
mov ecx, dword [eax]
mov dword [ebp - 0x794], ecx
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x798], edx
lea eax, [ebp - 0x798]
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x7a0], ecx
mov edx, dword [ebp - 0x214]
or edx, 2
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x730], eax
jmp 0x1022058f
mov dword [ebp - 0x7a4], 0
lea ecx, [ebp - 0x7a4]
mov dword [ebp - 0x7a8], ecx
mov edx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7ac], edx
mov eax, dword [ebp - 0x214]
or eax, 4
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x7ac]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x730]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 0x7b0]
mov ecx, dword [eax]
mov dword [ebp - 0x734], ecx
mov edx, dword [ebp - 0x214]
or edx, 8
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x214]
and eax, 4
je 0x102205ca
and dword [ebp - 0x214], 0xfffffffb
mov ecx, dword [ebp - 0x214]
and ecx, 2
je 0x102205dc
and dword [ebp - 0x214], 0xfffffffd
mov edx, dword [ebp - 0x214]
or edx, 1
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x224]
add eax, 0x28
mov dword [ebp - 0x24c], eax
mov ecx, dword [0x108a1c0c]
mov dword [ebp - 0x7b4], ecx
lea edx, [ebp - 0x308]
mov dword [ebp - 0x738], edx
mov eax, dword [ebp - 0x738]
mov ecx, dword [ebp - 0x7b4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x738]
mov dword [ebp - 0x7b8], edx
mov eax, dword [ebp - 0x7b8]
mov dword [ebp - 0x1420], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x308]
mov dword [ecx], edx
mov eax, dword [ebp - 0x308]
mov ecx, dword [eax]
mov dword [ebp - 0x7bc], ecx
mov edx, dword [ebp - 0x7bc]
mov eax, dword [ebp - 0x24c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x24c]
cmp dword [ecx + 4], 0
jne 0x10220682
mov dword [ebp - 4], 0xffffffff
jmp 0x10220941
mov dword [ebp - 0x380], 0
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x380]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x7c0], edx
mov eax, dword [ebp - 0x7c0]
mov dword [ebp - 0x73c], eax
cmp dword [ebp - 0x73c], 0
jne 0x102206c2
mov byte [ebp - 0x225], 0
jmp 0x1022071a
mov ecx, dword [0x105611f4]
mov dword [ebp - 0x7c4], ecx
push 0x1c
lea edx, [ebp - 0x1b4]
push edx
mov eax, dword [ebp - 0x73c]
push eax
call dword [ebp - 0x7c4]
test eax, eax
jne 0x102206f1
mov byte [ebp - 0x225], 0
jmp 0x1022071a
mov ecx, dword [ebp - 0x1a0]
and ecx, 1
jne 0x1022070a
mov edx, dword [ebp - 0x1a0]
and edx, 0x100
je 0x10220713
mov byte [ebp - 0x225], 0
jmp 0x1022071a
mov byte [ebp - 0x225], 1
movzx eax, byte [ebp - 0x225]
test eax, eax
je 0x10220739
mov ecx, dword [ebp - 0x380]
add ecx, 1
mov dword [ebp - 0x380], ecx
jmp 0x1022068c
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x7c8]
mov ecx, dword [ebp - 0x24c]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x24c]
cmp dword [edx + 0xc], 0
jne 0x1022076c
mov dword [ebp - 4], 0xffffffff
jmp 0x10220941
mov eax, 1
test eax, eax
je 0x10220789
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x740], edx
jmp 0x10220798
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x740]
push edx
lea eax, [ebp - 0x7d0]
push eax
call fcn.10080380
add esp, 8
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7cc]
push ecx
mov ecx, dword [ebp - 0x24c]
add ecx, 8
call fcn.10080480
lea ecx, [ebp - 0x7d0]
call fcn.1007c1e0
mov edx, dword [ebp - 0x24c]
cmp dword [edx + 8], 0
je 0x102207e9
mov byte [ebp - 0x26e], 1
jmp 0x102207f0
mov byte [ebp - 0x26e], 0
mov al, byte [ebp - 0x26e]
mov byte [ebp - 0x298], al
movzx ecx, byte [ebp - 0x298]
test ecx, ecx
jne 0x10220813
mov dword [ebp - 4], 0xffffffff
jmp 0x10220941
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 8]
mov dword [ebp - 0x7d4], eax
mov ecx, dword [ebp - 0x7d4]
mov dword [ebp - 0x30], ecx
mov edx, 1
test edx, edx
je 0x102208d0
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0x7dc], edx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 4]
sub ecx, 4
mov dword [ebp - 0x7e0], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x7dc]
push ecx
mov edx, dword [ebp - 0x7e0]
push edx
mov eax, dword [ebp - 0x7e4]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x7e8], ecx
mov edx, dword [ebp - 0x7e8]
add edx, 4
mov dword [ebp - 0x7ec], edx
cmp dword [ebp - 0x308], 0
jne 0x102208b6
jmp 0x102208c4
mov eax, dword [ebp - 0x308]
mov ecx, dword [ebp - 0x7ec]
mov dword [eax], ecx
mov edx, dword [ebp - 0x24c]
mov byte [edx + 0x10], 1
jmp 0x1022093a
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 0xc]
shl ecx, 2
mov dword [ebp - 0x7f4], ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x7f0], ecx
mov edx, dword [ebp - 0x7f0]
mov dword [ebp - 0x7fc], edx
mov eax, dword [ebp - 0x7f4]
push eax
mov ecx, dword [ebp - 0x7f8]
push ecx
mov edx, dword [ebp - 0x7fc]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x308], 0
jne 0x1022092f
jmp 0x1022093a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x308]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x224]
add edx, 0x28
mov dword [ebp - 0x30c], edx
mov dword [ebp - 0x800], 0x10237040
mov eax, dword [ebp - 0x800]
mov dword [ebp - 0x804], eax
mov ecx, dword [ebp - 0x30c]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10220984
mov eax, 5
add eax, 1
mov dword [ebp - 0x744], eax
jmp 0x1022098e
mov dword [ebp - 0x744], 5
mov ecx, dword [ebp - 0x744]
mov dword [ebp - 0x748], ecx
mov edx, dword [ebp - 0x30c]
cmp dword [edx + 4], 0
je 0x102209ea
mov eax, dword [ebp - 0x30c]
cmp dword [eax + 8], 0
je 0x102209bb
mov byte [ebp - 0x26f], 1
jmp 0x102209c2
mov byte [ebp - 0x26f], 0
mov cl, byte [ebp - 0x26f]
mov byte [ebp - 0x2bc], cl
movzx edx, byte [ebp - 0x2bc]
test edx, edx
je 0x102209ea
mov eax, dword [ebp - 0x30c]
mov ecx, dword [ebp - 0x748]
cmp ecx, dword [eax + 0xc]
jbe 0x10220a14
mov dword [ebp - 0x754], 0
mov edx, dword [ebp - 0x214]
or edx, 0x10
mov dword [ebp - 0x214], edx
lea eax, [ebp - 0x754]
mov dword [ebp - 0x1424], eax
jmp 0x10220b6c
mov ecx, dword [ebp - 0x804]
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x808]
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x30c]
add eax, 8
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x80c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x748]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x810]
mov eax, dword [ebp - 0x814]
mov dword [edx], eax
mov ecx, 5
shl ecx, 2
mov edx, dword [ebp - 0x30c]
add ecx, dword [edx + 4]
mov dword [ebp - 0x74c], ecx
mov eax, dword [ebp - 0x74c]
cmp dword [eax], 0
je 0x10220ad1
mov ecx, dword [ebp - 0x74c]
mov edx, dword [ecx]
mov dword [ebp - 0x818], edx
mov eax, dword [ebp - 0x818]
mov dword [ebp - 0x81c], eax
lea ecx, [ebp - 0x81c]
mov dword [ebp - 0x820], ecx
mov edx, dword [ebp - 0x820]
mov dword [ebp - 0x824], edx
mov eax, dword [ebp - 0x214]
or eax, 0x20
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x824]
mov dword [ebp - 0x750], ecx
jmp 0x10220b0e
mov dword [ebp - 0x828], 0
lea edx, [ebp - 0x828]
mov dword [ebp - 0x82c], edx
mov eax, dword [ebp - 0x82c]
mov dword [ebp - 0x830], eax
mov ecx, dword [ebp - 0x214]
or ecx, 0x40
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x830]
mov dword [ebp - 0x750], edx
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x834], eax
mov ecx, dword [ebp - 0x834]
mov edx, dword [ecx]
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x214]
or eax, 0x80
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
and ecx, 0x40
je 0x10220b4b
and dword [ebp - 0x214], 0xffffffbf
mov edx, dword [ebp - 0x214]
and edx, 0x20
je 0x10220b5d
and dword [ebp - 0x214], 0xffffffdf
mov eax, dword [ebp - 0x214]
or eax, 0x10
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x224]
add ecx, 0x28
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x838], 0x10237300
mov edx, dword [ebp - 0x838]
mov dword [ebp - 0x83c], edx
mov eax, dword [ebp - 0x2fc]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10220baf
mov edx, 6
add edx, 1
mov dword [ebp - 0x758], edx
jmp 0x10220bb9
mov dword [ebp - 0x758], 6
mov eax, dword [ebp - 0x758]
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x2fc]
cmp dword [ecx + 4], 0
je 0x10220c15
mov edx, dword [ebp - 0x2fc]
cmp dword [edx + 8], 0
je 0x10220be6
mov byte [ebp - 0x270], 1
jmp 0x10220bed
mov byte [ebp - 0x270], 0
mov al, byte [ebp - 0x270]
mov byte [ebp - 0x2bb], al
movzx ecx, byte [ebp - 0x2bb]
test ecx, ecx
je 0x10220c15
mov edx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x75c]
cmp eax, dword [edx + 0xc]
jbe 0x10220c42
mov dword [ebp - 0x768], 0
mov ecx, dword [ebp - 0x214]
or ecx, 0x100
mov dword [ebp - 0x214], ecx
lea edx, [ebp - 0x768]
mov dword [ebp - 0x1428], edx
jmp 0x10220dae
mov eax, dword [ebp - 0x83c]
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x840]
mov dword [ebp - 0x84c], ecx
mov edx, dword [ebp - 0x2fc]
add edx, 8
mov dword [ebp - 0x844], edx
mov eax, dword [ebp - 0x844]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x75c]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x848], eax
mov ecx, dword [ebp - 0x848]
mov edx, dword [ebp - 0x84c]
mov dword [ecx], edx
mov eax, 6
shl eax, 2
mov ecx, dword [ebp - 0x2fc]
add eax, dword [ecx + 4]
mov dword [ebp - 0x760], eax
mov edx, dword [ebp - 0x760]
cmp dword [edx], 0
je 0x10220d02
mov eax, dword [ebp - 0x760]
mov ecx, dword [eax]
mov dword [ebp - 0x850], ecx
mov edx, dword [ebp - 0x850]
mov dword [ebp - 0x854], edx
lea eax, [ebp - 0x854]
mov dword [ebp - 0x858], eax
mov ecx, dword [ebp - 0x858]
mov dword [ebp - 0x85c], ecx
mov edx, dword [ebp - 0x214]
or edx, 0x200
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x85c]
mov dword [ebp - 0x764], eax
jmp 0x10220d41
mov dword [ebp - 0x860], 0
lea ecx, [ebp - 0x860]
mov dword [ebp - 0x864], ecx
mov edx, dword [ebp - 0x864]
mov dword [ebp - 0x868], edx
mov eax, dword [ebp - 0x214]
or eax, 0x400
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x868]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x86c], edx
mov eax, dword [ebp - 0x86c]
mov ecx, dword [eax]
mov dword [ebp - 0x768], ecx
mov edx, dword [ebp - 0x214]
or edx, 0x800
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x214]
and eax, 0x400
je 0x10220d84
and dword [ebp - 0x214], 0xfffffbff
mov ecx, dword [ebp - 0x214]
and ecx, 0x200
je 0x10220d9c
and dword [ebp - 0x214], 0xfffffdff
mov edx, dword [ebp - 0x214]
or edx, 0x100
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x224]
add eax, 0x28
mov dword [ebp - 0x314], eax
mov dword [ebp - 0x870], 0x10237210
mov ecx, dword [ebp - 0x870]
mov dword [ebp - 0x874], ecx
mov edx, dword [ebp - 0x314]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10220df1
mov ecx, 7
add ecx, 1
mov dword [ebp - 0x76c], ecx
jmp 0x10220dfb
mov dword [ebp - 0x76c], 7
mov edx, dword [ebp - 0x76c]
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x314]
cmp dword [eax + 4], 0
je 0x10220e57
mov ecx, dword [ebp - 0x314]
cmp dword [ecx + 8], 0
je 0x10220e28
mov byte [ebp - 0x271], 1
jmp 0x10220e2f
mov byte [ebp - 0x271], 0
mov dl, byte [ebp - 0x271]
mov byte [ebp - 0x2ba], dl
movzx eax, byte [ebp - 0x2ba]
test eax, eax
je 0x10220e57
mov ecx, dword [ebp - 0x314]
mov edx, dword [ebp - 0x770]
cmp edx, dword [ecx + 0xc]
jbe 0x10220e83
mov dword [ebp - 0x3c8], 0
mov eax, dword [ebp - 0x214]
or eax, 0x1000
mov dword [ebp - 0x214], eax
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 0x142c], ecx
jmp 0x10220ff0
mov edx, dword [ebp - 0x874]
mov dword [ebp - 0x878], edx
mov eax, dword [ebp - 0x878]
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x314]
add ecx, 8
mov dword [ebp - 0x87c], ecx
mov edx, dword [ebp - 0x87c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x770]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x880], edx
mov eax, dword [ebp - 0x880]
mov ecx, dword [ebp - 0x884]
mov dword [eax], ecx
mov edx, 7
shl edx, 2
mov eax, dword [ebp - 0x314]
add edx, dword [eax + 4]
mov dword [ebp - 0x3c0], edx
mov ecx, dword [ebp - 0x3c0]
cmp dword [ecx], 0
je 0x10220f43
mov edx, dword [ebp - 0x3c0]
mov eax, dword [edx]
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x888]
mov dword [ebp - 0x88c], ecx
lea edx, [ebp - 0x88c]
mov dword [ebp - 0x890], edx
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0x894], eax
mov ecx, dword [ebp - 0x214]
or ecx, 0x2000
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x894]
mov dword [ebp - 0x3c4], edx
jmp 0x10220f83
mov dword [ebp - 0x898], 0
lea eax, [ebp - 0x898]
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x89c]
mov dword [ebp - 0x8a0], ecx
mov edx, dword [ebp - 0x214]
or edx, 0x4000
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x8a0]
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x8a4], ecx
mov edx, dword [ebp - 0x8a4]
mov eax, dword [edx]
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x214]
or ecx, 0x8000
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x214]
and edx, 0x4000
je 0x10220fc7
and dword [ebp - 0x214], 0xffffbfff
mov eax, dword [ebp - 0x214]
and eax, 0x2000
je 0x10220fde
and dword [ebp - 0x214], 0xffffdfff
mov ecx, dword [ebp - 0x214]
or ecx, 0x1000
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x224]
add edx, 0x28
mov dword [ebp - 0x318], edx
mov dword [ebp - 0x8a8], 0x10235fb0
mov eax, dword [ebp - 0x8a8]
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x318]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10221033
mov eax, 0x24
add eax, 1
mov dword [ebp - 0x3cc], eax
jmp 0x1022103d
mov dword [ebp - 0x3cc], 0x24
mov ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x3d0], ecx
mov edx, dword [ebp - 0x318]
cmp dword [edx + 4], 0
je 0x10221099
mov eax, dword [ebp - 0x318]
cmp dword [eax + 8], 0
je 0x1022106a
mov byte [ebp - 0x272], 1
jmp 0x10221071
mov byte [ebp - 0x272], 0
mov cl, byte [ebp - 0x272]
mov byte [ebp - 0x2b9], cl
movzx edx, byte [ebp - 0x2b9]
test edx, edx
je 0x10221099
mov eax, dword [ebp - 0x318]
mov ecx, dword [ebp - 0x3d0]
cmp ecx, dword [eax + 0xc]
jbe 0x102210c6
mov dword [ebp - 0x3dc], 0
mov edx, dword [ebp - 0x214]
or edx, 0x10000
mov dword [ebp - 0x214], edx
lea eax, [ebp - 0x3dc]
mov dword [ebp - 0x1430], eax
jmp 0x10221231
mov ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x8b0], ecx
mov edx, dword [ebp - 0x8b0]
mov dword [ebp - 0x8bc], edx
mov eax, dword [ebp - 0x318]
add eax, 8
mov dword [ebp - 0x8b4], eax
mov ecx, dword [ebp - 0x8b4]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3d0]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x8b8], ecx
mov edx, dword [ebp - 0x8b8]
mov eax, dword [ebp - 0x8bc]
mov dword [edx], eax
mov ecx, 0x24
shl ecx, 2
mov edx, dword [ebp - 0x318]
add ecx, dword [edx + 4]
mov dword [ebp - 0x3d4], ecx
mov eax, dword [ebp - 0x3d4]
cmp dword [eax], 0
je 0x10221185
mov ecx, dword [ebp - 0x3d4]
mov edx, dword [ecx]
mov dword [ebp - 0x8c0], edx
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x8c4], eax
lea ecx, [ebp - 0x8c4]
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x8c8]
mov dword [ebp - 0x8cc], edx
mov eax, dword [ebp - 0x214]
or eax, 0x20000
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x8cc]
mov dword [ebp - 0x3d8], ecx
jmp 0x102211c5
mov dword [ebp - 0x8d0], 0
lea edx, [ebp - 0x8d0]
mov dword [ebp - 0x8d4], edx
mov eax, dword [ebp - 0x8d4]
mov dword [ebp - 0x8d8], eax
mov ecx, dword [ebp - 0x214]
or ecx, 0x40000
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x8d8]
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x8dc], eax
mov ecx, dword [ebp - 0x8dc]
mov edx, dword [ecx]
mov dword [ebp - 0x3dc], edx
mov eax, dword [ebp - 0x214]
or eax, 0x80000
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
and ecx, 0x40000
je 0x10221208
and dword [ebp - 0x214], 0xfffbffff
mov edx, dword [ebp - 0x214]
and edx, 0x20000
je 0x10221220
and dword [ebp - 0x214], 0xfffdffff
mov eax, dword [ebp - 0x214]
or eax, 0x10000
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x224]
add ecx, 0x50
mov dword [ebp - 0x26c], ecx
mov edx, dword [0x108a1c14]
mov dword [ebp - 0x8e0], edx
lea eax, [ebp - 0x31c]
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x8e0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x8e4], eax
mov ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x1434], ecx
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x31c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ecx]
mov dword [ebp - 0x8e8], edx
mov eax, dword [ebp - 0x8e8]
mov ecx, dword [ebp - 0x26c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x26c]
cmp dword [edx + 4], 0
jne 0x102212c8
mov dword [ebp - 4], 0xffffffff
jmp 0x10221586
mov dword [ebp - 0x39c], 0
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x39c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x8ec], eax
mov ecx, dword [ebp - 0x8ec]
mov dword [ebp - 0x3e4], ecx
cmp dword [ebp - 0x3e4], 0
jne 0x10221308
mov byte [ebp - 0x226], 0
jmp 0x1022135f
mov edx, dword [0x105611f4]
mov dword [ebp - 0x8f0], edx
push 0x1c
lea eax, [ebp - 0x198]
push eax
mov ecx, dword [ebp - 0x3e4]
push ecx
call dword [ebp - 0x8f0]
test eax, eax
jne 0x10221337
mov byte [ebp - 0x226], 0
jmp 0x1022135f
mov edx, dword [ebp - 0x184]
and edx, 1
jne 0x1022134f
mov eax, dword [ebp - 0x184]
and eax, 0x100
je 0x10221358
mov byte [ebp - 0x226], 0
jmp 0x1022135f
mov byte [ebp - 0x226], 1
movzx ecx, byte [ebp - 0x226]
test ecx, ecx
je 0x1022137e
mov edx, dword [ebp - 0x39c]
add edx, 1
mov dword [ebp - 0x39c], edx
jmp 0x102212d2
mov eax, dword [ebp - 0x39c]
mov dword [ebp - 0x8f4], eax
mov ecx, dword [ebp - 0x8f4]
mov edx, dword [ebp - 0x26c]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x26c]
cmp dword [eax + 0xc], 0
jne 0x102213b1
mov dword [ebp - 4], 0xffffffff
jmp 0x10221586
mov ecx, 1
test ecx, ecx
je 0x102213ce
mov edx, dword [ebp - 0x26c]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x3e8], eax
jmp 0x102213dd
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x8fc]
push ecx
call fcn.10080380
add esp, 8
mov dword [ebp - 0x8f8], eax
mov edx, dword [ebp - 0x8f8]
push edx
mov ecx, dword [ebp - 0x26c]
add ecx, 8
call fcn.10080480
lea ecx, [ebp - 0x8fc]
call fcn.1007c1e0
mov eax, dword [ebp - 0x26c]
cmp dword [eax + 8], 0
je 0x1022142e
mov byte [ebp - 0x273], 1
jmp 0x10221435
mov byte [ebp - 0x273], 0
mov cl, byte [ebp - 0x273]
mov byte [ebp - 0x2b8], cl
movzx edx, byte [ebp - 0x2b8]
test edx, edx
jne 0x10221458
mov dword [ebp - 4], 0xffffffff
jmp 0x10221586
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x900], ecx
mov edx, dword [ebp - 0x900]
mov dword [ebp - 0x4c], edx
mov eax, 1
test eax, eax
je 0x10221515
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 0xc]
lea eax, [edx*4 + 4]
mov dword [ebp - 0x908], eax
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 4]
sub edx, 4
mov dword [ebp - 0x90c], edx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x904], eax
mov ecx, dword [ebp - 0x904]
mov dword [ebp - 0x910], ecx
mov edx, dword [ebp - 0x908]
push edx
mov eax, dword [ebp - 0x90c]
push eax
mov ecx, dword [ebp - 0x910]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x914], edx
mov eax, dword [ebp - 0x914]
add eax, 4
mov dword [ebp - 0x918], eax
cmp dword [ebp - 0x31c], 0
jne 0x102214fb
jmp 0x10221509
mov ecx, dword [ebp - 0x31c]
mov edx, dword [ebp - 0x918]
mov dword [ecx], edx
mov eax, dword [ebp - 0x26c]
mov byte [eax + 0x10], 1
jmp 0x1022157f
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx + 0xc]
shl edx, 2
mov dword [ebp - 0x920], edx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x924], ecx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x91c], edx
mov eax, dword [ebp - 0x91c]
mov dword [ebp - 0x928], eax
mov ecx, dword [ebp - 0x920]
push ecx
mov edx, dword [ebp - 0x924]
push edx
mov eax, dword [ebp - 0x928]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x31c], 0
jne 0x10221574
jmp 0x1022157f
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x31c]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x224]
add eax, 0x50
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x92c], 0x10232110
mov ecx, dword [ebp - 0x92c]
mov dword [ebp - 0x930], ecx
mov edx, dword [ebp - 0x320]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x102215c9
mov ecx, 0x1b
add ecx, 1
mov dword [ebp - 0x3ec], ecx
jmp 0x102215d3
mov dword [ebp - 0x3ec], 0x1b
mov edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x320]
cmp dword [eax + 4], 0
je 0x1022162f
mov ecx, dword [ebp - 0x320]
cmp dword [ecx + 8], 0
je 0x10221600
mov byte [ebp - 0x274], 1
jmp 0x10221607
mov byte [ebp - 0x274], 0
mov dl, byte [ebp - 0x274]
mov byte [ebp - 0x2b7], dl
movzx eax, byte [ebp - 0x2b7]
test eax, eax
je 0x1022162f
mov ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0x3f0]
cmp edx, dword [ecx + 0xc]
jbe 0x1022165b
mov dword [ebp - 0x3fc], 0
mov eax, dword [ebp - 0x214]
or eax, 0x100000
mov dword [ebp - 0x214], eax
lea ecx, [ebp - 0x3fc]
mov dword [ebp - 0x1438], ecx
jmp 0x102217c8
mov edx, dword [ebp - 0x930]
mov dword [ebp - 0x934], edx
mov eax, dword [ebp - 0x934]
mov dword [ebp - 0x940], eax
mov ecx, dword [ebp - 0x320]
add ecx, 8
mov dword [ebp - 0x938], ecx
mov edx, dword [ebp - 0x938]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3f0]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x93c], edx
mov eax, dword [ebp - 0x93c]
mov ecx, dword [ebp - 0x940]
mov dword [eax], ecx
mov edx, 0x1b
shl edx, 2
mov eax, dword [ebp - 0x320]
add edx, dword [eax + 4]
mov dword [ebp - 0x3f4], edx
mov ecx, dword [ebp - 0x3f4]
cmp dword [ecx], 0
je 0x1022171b
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx]
mov dword [ebp - 0x944], eax
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0x948], ecx
lea edx, [ebp - 0x948]
mov dword [ebp - 0x94c], edx
mov eax, dword [ebp - 0x94c]
mov dword [ebp - 0x950], eax
mov ecx, dword [ebp - 0x214]
or ecx, 0x200000
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x950]
mov dword [ebp - 0x3f8], edx
jmp 0x1022175b
mov dword [ebp - 0x954], 0
lea eax, [ebp - 0x954]
mov dword [ebp - 0x958], eax
mov ecx, dword [ebp - 0x958]
mov dword [ebp - 0x95c], ecx
mov edx, dword [ebp - 0x214]
or edx, 0x400000
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x95c]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x960], ecx
mov edx, dword [ebp - 0x960]
mov eax, dword [edx]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x214]
or ecx, 0x800000
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x214]
and edx, 0x400000
je 0x1022179f
and dword [ebp - 0x214], 0xffbfffff
mov eax, dword [ebp - 0x214]
and eax, 0x200000
je 0x102217b6
and dword [ebp - 0x214], 0xffdfffff
mov ecx, dword [ebp - 0x214]
or ecx, 0x100000
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x224]
add edx, 0x50
mov dword [ebp - 0x324], edx
mov dword [ebp - 0x964], 0x10231d50
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x324]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1022180b
mov eax, 0x5d
add eax, 1
mov dword [ebp - 0x400], eax
jmp 0x10221815
mov dword [ebp - 0x400], 0x5d
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x404], ecx
mov edx, dword [ebp - 0x324]
cmp dword [edx + 4], 0
je 0x10221871
mov eax, dword [ebp - 0x324]
cmp dword [eax + 8], 0
je 0x10221842
mov byte [ebp - 0x275], 1
jmp 0x10221849
mov byte [ebp - 0x275], 0
mov cl, byte [ebp - 0x275]
mov byte [ebp - 0x2b6], cl
movzx edx, byte [ebp - 0x2b6]
test edx, edx
je 0x10221871
mov eax, dword [ebp - 0x324]
mov ecx, dword [ebp - 0x404]
cmp ecx, dword [eax + 0xc]
jbe 0x1022189e
mov dword [ebp - 0x410], 0
mov edx, dword [ebp - 0x214]
or edx, 0x1000000
mov dword [ebp - 0x214], edx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x143c], eax
jmp 0x10221a09
mov ecx, dword [ebp - 0x968]
mov dword [ebp - 0x96c], ecx
mov edx, dword [ebp - 0x96c]
mov dword [ebp - 0x978], edx
mov eax, dword [ebp - 0x324]
add eax, 8
mov dword [ebp - 0x970], eax
mov ecx, dword [ebp - 0x970]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x404]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x974], ecx
mov edx, dword [ebp - 0x974]
mov eax, dword [ebp - 0x978]
mov dword [edx], eax
mov ecx, 0x5d
shl ecx, 2
mov edx, dword [ebp - 0x324]
add ecx, dword [edx + 4]
mov dword [ebp - 0x408], ecx
mov eax, dword [ebp - 0x408]
cmp dword [eax], 0
je 0x1022195d
mov ecx, dword [ebp - 0x408]
mov edx, dword [ecx]
mov dword [ebp - 0x97c], edx
mov eax, dword [ebp - 0x97c]
mov dword [ebp - 0x980], eax
lea ecx, [ebp - 0x980]
mov dword [ebp - 0x984], ecx
mov edx, dword [ebp - 0x984]
mov dword [ebp - 0x988], edx
mov eax, dword [ebp - 0x214]
or eax, 0x2000000
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x988]
mov dword [ebp - 0x40c], ecx
jmp 0x1022199d
mov dword [ebp - 0x98c], 0
lea edx, [ebp - 0x98c]
mov dword [ebp - 0x990], edx
mov eax, dword [ebp - 0x990]
mov dword [ebp - 0x994], eax
mov ecx, dword [ebp - 0x214]
or ecx, 0x4000000
mov dword [ebp - 0x214], ecx
mov edx, dword [ebp - 0x994]
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0x998], eax
mov ecx, dword [ebp - 0x998]
mov edx, dword [ecx]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x214]
or eax, 0x8000000
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x214]
and ecx, 0x4000000
je 0x102219e0
and dword [ebp - 0x214], 0xfbffffff
mov edx, dword [ebp - 0x214]
and edx, 0x2000000
je 0x102219f8
and dword [ebp - 0x214], 0xfdffffff
mov eax, dword [ebp - 0x214]
or eax, 0x1000000
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x224]
add ecx, 0x50
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x99c], 0x10231a60
mov edx, dword [ebp - 0x99c]
mov dword [ebp - 0x9a0], edx
mov eax, dword [ebp - 0x328]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10221a4c
mov edx, 0x5a
add edx, 1
mov dword [ebp - 0x414], edx
jmp 0x10221a56
mov dword [ebp - 0x414], 0x5a
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x328]
cmp dword [ecx + 4], 0
je 0x10221ab2
mov edx, dword [ebp - 0x328]
cmp dword [edx + 8], 0
je 0x10221a83
mov byte [ebp - 0x276], 1
jmp 0x10221a8a
mov byte [ebp - 0x276], 0
mov al, byte [ebp - 0x276]
mov byte [ebp - 0x2b5], al
movzx ecx, byte [ebp - 0x2b5]
test ecx, ecx
je 0x10221ab2
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x418]
cmp eax, dword [edx + 0xc]
jbe 0x10221adf
mov dword [ebp - 0x424], 0
mov ecx, dword [ebp - 0x214]
or ecx, 0x10000000
mov dword [ebp - 0x214], ecx
lea edx, [ebp - 0x424]
mov dword [ebp - 0x1414], edx
jmp 0x10221c4b
mov eax, dword [ebp - 0x9a0]
mov dword [ebp - 0x9a4], eax
mov ecx, dword [ebp - 0x9a4]
mov dword [ebp - 0x9b0], ecx
mov edx, dword [ebp - 0x328]
add edx, 8
mov dword [ebp - 0x9a8], edx
mov eax, dword [ebp - 0x9a8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x418]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x9ac], eax
mov ecx, dword [ebp - 0x9ac]
mov edx, dword [ebp - 0x9b0]
mov dword [ecx], edx
mov eax, 0x5a
shl eax, 2
mov ecx, dword [ebp - 0x328]
add eax, dword [ecx + 4]
mov dword [ebp - 0x41c], eax
mov edx, dword [ebp - 0x41c]
cmp dword [edx], 0
je 0x10221b9f
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax]
mov dword [ebp - 0x9b4], ecx
mov edx, dword [ebp - 0x9b4]
mov dword [ebp - 0x9b8], edx
lea eax, [ebp - 0x9b8]
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9bc]
mov dword [ebp - 0x9c0], ecx
mov edx, dword [ebp - 0x214]
or edx, 0x20000000
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x9c0]
mov dword [ebp - 0x420], eax
jmp 0x10221bde
mov dword [ebp - 0x9c4], 0
lea ecx, [ebp - 0x9c4]
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x9c8]
mov dword [ebp - 0x9cc], edx
mov eax, dword [ebp - 0x214]
or eax, 0x40000000
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x9cc]
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x9d0]
mov ecx, dword [eax]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x214]
or edx, 0x80000000
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x214]
and eax, 0x40000000
je 0x10221c21
and dword [ebp - 0x214], 0xbfffffff
mov ecx, dword [ebp - 0x214]
and ecx, 0x20000000
je 0x10221c39
and dword [ebp - 0x214], 0xdfffffff
mov edx, dword [ebp - 0x214]
or edx, 0x10000000
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x224]
add eax, 0x78
mov dword [ebp - 0x260], eax
mov ecx, dword [0x108a1c2c]
mov dword [ebp - 0x9d4], ecx
lea edx, [ebp - 0x32c]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x9d4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x9d8], edx
mov eax, dword [ebp - 0x9d8]
mov dword [ebp - 0x1440], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x260]
mov edx, dword [ebp - 0x32c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x32c]
mov ecx, dword [eax]
mov dword [ebp - 0x9dc], ecx
mov edx, dword [ebp - 0x9dc]
mov eax, dword [ebp - 0x260]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x260]
cmp dword [ecx + 4], 0
jne 0x10221ce2
mov dword [ebp - 4], 0xffffffff
jmp 0x10221fa1
mov dword [ebp - 0x3a8], 0
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x3a8]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x9e0]
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0
jne 0x10221d22
mov byte [ebp - 0x227], 0
jmp 0x10221d7a
mov ecx, dword [0x105611f4]
mov dword [ebp - 0x9e4], ecx
push 0x1c
lea edx, [ebp - 0x17c]
push edx
mov eax, dword [ebp - 0x42c]
push eax
call dword [ebp - 0x9e4]
test eax, eax
jne 0x10221d51
mov byte [ebp - 0x227], 0
jmp 0x10221d7a
mov ecx, dword [ebp - 0x168]
and ecx, 1
jne 0x10221d6a
mov edx, dword [ebp - 0x168]
and edx, 0x100
je 0x10221d73
mov byte [ebp - 0x227], 0
jmp 0x10221d7a
mov byte [ebp - 0x227], 1
movzx eax, byte [ebp - 0x227]
test eax, eax
je 0x10221d99
mov ecx, dword [ebp - 0x3a8]
add ecx, 1
mov dword [ebp - 0x3a8], ecx
jmp 0x10221cec
mov edx, dword [ebp - 0x3a8]
mov dword [ebp - 0x9e8], edx
mov eax, dword [ebp - 0x9e8]
mov ecx, dword [ebp - 0x260]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x260]
cmp dword [edx + 0xc], 0
jne 0x10221dcc
mov dword [ebp - 4], 0xffffffff
jmp 0x10221fa1
mov eax, 1
test eax, eax
je 0x10221de9
mov ecx, dword [ebp - 0x260]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x430], edx
jmp 0x10221df8
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x430]
push edx
lea eax, [ebp - 0x9f0]
push eax
call fcn.10080380
add esp, 8
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9ec]
push ecx
mov ecx, dword [ebp - 0x260]
add ecx, 8
call fcn.10080480
lea ecx, [ebp - 0x9f0]
call fcn.1007c1e0
mov edx, dword [ebp - 0x260]
cmp dword [edx + 8], 0
je 0x10221e49
mov byte [ebp - 0x277], 1
jmp 0x10221e50
mov byte [ebp - 0x277], 0
mov al, byte [ebp - 0x277]
mov byte [ebp - 0x2b4], al
movzx ecx, byte [ebp - 0x2b4]
test ecx, ecx
jne 0x10221e73
mov dword [ebp - 4], 0xffffffff
jmp 0x10221fa1
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + 8]
mov dword [ebp - 0x9f4], eax
mov ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x48], ecx
mov edx, 1
test edx, edx
je 0x10221f30
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + 4]
sub ecx, 4
mov dword [ebp - 0xa00], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9f8]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0x9fc]
push ecx
mov edx, dword [ebp - 0xa00]
push edx
mov eax, dword [ebp - 0xa04]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa08], ecx
mov edx, dword [ebp - 0xa08]
add edx, 4
mov dword [ebp - 0xa0c], edx
cmp dword [ebp - 0x32c], 0
jne 0x10221f16
jmp 0x10221f24
mov eax, dword [ebp - 0x32c]
mov ecx, dword [ebp - 0xa0c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x260]
mov byte [edx + 0x10], 1
jmp 0x10221f9a
mov eax, dword [ebp - 0x260]
mov ecx, dword [eax + 0xc]
shl ecx, 2
mov dword [ebp - 0xa14], ecx
mov edx, dword [ebp - 0x260]
mov eax, dword [edx + 4]
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa10], ecx
mov edx, dword [ebp - 0xa10]
mov dword [ebp - 0xa1c], edx
mov eax, dword [ebp - 0xa14]
push eax
mov ecx, dword [ebp - 0xa18]
push ecx
mov edx, dword [ebp - 0xa1c]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x32c], 0
jne 0x10221f8f
jmp 0x10221f9a
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x32c]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x224]
add edx, 0x78
mov dword [ebp - 0x330], edx
mov dword [ebp - 0xa20], 0x10277b70
mov eax, dword [ebp - 0xa20]
mov dword [ebp - 0xa24], eax
mov ecx, dword [ebp - 0x330]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10221fe4
mov eax, 0xe
add eax, 1
mov dword [ebp - 0x434], eax
jmp 0x10221fee
mov dword [ebp - 0x434], 0xe
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x330]
cmp dword [edx + 4], 0
je 0x1022204a
mov eax, dword [ebp - 0x330]
cmp dword [eax + 8], 0
je 0x1022201b
mov byte [ebp - 0x278], 1
jmp 0x10222022
mov byte [ebp - 0x278], 0
mov cl, byte [ebp - 0x278]
mov byte [ebp - 0x2aa], cl
movzx edx, byte [ebp - 0x2aa]
test edx, edx
je 0x1022204a
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x438]
cmp ecx, dword [eax + 0xc]
jbe 0x10222074
mov dword [ebp - 0x444], 0
mov edx, dword [ebp - 0x218]
or edx, 1
mov dword [ebp - 0x218], edx
lea eax, [ebp - 0x444]
mov dword [ebp - 0x1444], eax
jmp 0x102221ca
mov ecx, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], ecx
mov edx, dword [ebp - 0xa28]
mov dword [ebp - 0xa34], edx
mov eax, dword [ebp - 0x330]
add eax, 8
mov dword [ebp - 0xa2c], eax
mov ecx, dword [ebp - 0xa2c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x438]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xa30], ecx
mov edx, dword [ebp - 0xa30]
mov eax, dword [ebp - 0xa34]
mov dword [edx], eax
mov ecx, 0xe
shl ecx, 2
mov edx, dword [ebp - 0x330]
add ecx, dword [edx + 4]
mov dword [ebp - 0x43c], ecx
mov eax, dword [ebp - 0x43c]
cmp dword [eax], 0
je 0x10222131
mov ecx, dword [ebp - 0x43c]
mov edx, dword [ecx]
mov dword [ebp - 0xa38], edx
mov eax, dword [ebp - 0xa38]
mov dword [ebp - 0xa3c], eax
lea ecx, [ebp - 0xa3c]
mov dword [ebp - 0xa40], ecx
mov edx, dword [ebp - 0xa40]
mov dword [ebp - 0xa44], edx
mov eax, dword [ebp - 0x218]
or eax, 2
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0xa44]
mov dword [ebp - 0x440], ecx
jmp 0x1022216e
mov dword [ebp - 0xa48], 0
lea edx, [ebp - 0xa48]
mov dword [ebp - 0xa4c], edx
mov eax, dword [ebp - 0xa4c]
mov dword [ebp - 0xa50], eax
mov ecx, dword [ebp - 0x218]
or ecx, 4
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0xa50]
mov dword [ebp - 0x440], edx
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0xa54], eax
mov ecx, dword [ebp - 0xa54]
mov edx, dword [ecx]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x218]
or eax, 8
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
and ecx, 4
je 0x102221a9
and dword [ebp - 0x218], 0xfffffffb
mov edx, dword [ebp - 0x218]
and edx, 2
je 0x102221bb
and dword [ebp - 0x218], 0xfffffffd
mov eax, dword [ebp - 0x218]
or eax, 1
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x224]
add ecx, 0x78
mov dword [ebp - 0x334], ecx
mov dword [ebp - 0xa58], 0x10277960
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0x334]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x1022220d
mov edx, 0x13
add edx, 1
mov dword [ebp - 0x448], edx
jmp 0x10222217
mov dword [ebp - 0x448], 0x13
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x334]
cmp dword [ecx + 4], 0
je 0x10222273
mov edx, dword [ebp - 0x334]
cmp dword [edx + 8], 0
je 0x10222244
mov byte [ebp - 0x294], 1
jmp 0x1022224b
mov byte [ebp - 0x294], 0
mov al, byte [ebp - 0x294]
mov byte [ebp - 0x2b3], al
movzx ecx, byte [ebp - 0x2b3]
test ecx, ecx
je 0x10222273
mov edx, dword [ebp - 0x334]
mov eax, dword [ebp - 0x44c]
cmp eax, dword [edx + 0xc]
jbe 0x1022229d
mov dword [ebp - 0x458], 0
mov ecx, dword [ebp - 0x218]
or ecx, 0x10
mov dword [ebp - 0x218], ecx
lea edx, [ebp - 0x458]
mov dword [ebp - 0x1404], edx
jmp 0x102223f6
mov eax, dword [ebp - 0xa5c]
mov dword [ebp - 0xa60], eax
mov ecx, dword [ebp - 0xa60]
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0x334]
add edx, 8
mov dword [ebp - 0xa64], edx
mov eax, dword [ebp - 0xa64]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x44c]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0xa68]
mov edx, dword [ebp - 0xa6c]
mov dword [ecx], edx
mov eax, 0x13
shl eax, 2
mov ecx, dword [ebp - 0x334]
add eax, dword [ecx + 4]
mov dword [ebp - 0x450], eax
mov edx, dword [ebp - 0x450]
cmp dword [edx], 0
je 0x1022235a
mov eax, dword [ebp - 0x450]
mov ecx, dword [eax]
mov dword [ebp - 0xa70], ecx
mov edx, dword [ebp - 0xa70]
mov dword [ebp - 0xa74], edx
lea eax, [ebp - 0xa74]
mov dword [ebp - 0xa78], eax
mov ecx, dword [ebp - 0xa78]
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0x218]
or edx, 0x20
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0xa7c]
mov dword [ebp - 0x454], eax
jmp 0x10222397
mov dword [ebp - 0xa80], 0
lea ecx, [ebp - 0xa80]
mov dword [ebp - 0xa84], ecx
mov edx, dword [ebp - 0xa84]
mov dword [ebp - 0xa88], edx
mov eax, dword [ebp - 0x218]
or eax, 0x40
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0xa88]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0xa8c], edx
mov eax, dword [ebp - 0xa8c]
mov ecx, dword [eax]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x218]
or edx, 0x80
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x218]
and eax, 0x40
je 0x102223d5
and dword [ebp - 0x218], 0xffffffbf
mov ecx, dword [ebp - 0x218]
and ecx, 0x20
je 0x102223e7
and dword [ebp - 0x218], 0xffffffdf
mov edx, dword [ebp - 0x218]
or edx, 0x10
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x224]
add eax, 0x14
mov dword [ebp - 0x25c], eax
mov ecx, dword [0x108a1c70]
mov dword [ebp - 0xa90], ecx
lea edx, [ebp - 0x338]
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
mov ecx, dword [ebp - 0xa90]
mov dword [eax], ecx
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0xa94], edx
mov eax, dword [ebp - 0xa94]
mov dword [ebp - 0x1408], eax
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ebp - 0x338]
mov dword [ecx], edx
mov eax, dword [ebp - 0x338]
mov ecx, dword [eax]
mov dword [ebp - 0xa98], ecx
mov edx, dword [ebp - 0xa98]
mov eax, dword [ebp - 0x25c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x25c]
cmp dword [ecx + 4], 0
jne 0x1022248d
mov dword [ebp - 4], 0xffffffff
jmp 0x1022274c
mov dword [ebp - 0x36c], 0
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x36c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xa9c], edx
mov eax, dword [ebp - 0xa9c]
mov dword [ebp - 0x460], eax
cmp dword [ebp - 0x460], 0
jne 0x102224cd
mov byte [ebp - 0x228], 0
jmp 0x10222525
mov ecx, dword [0x105611f4]
mov dword [ebp - 0xaa0], ecx
push 0x1c
lea edx, [ebp - 0x9c]
push edx
mov eax, dword [ebp - 0x460]
push eax
call dword [ebp - 0xaa0]
test eax, eax
jne 0x102224fc
mov byte [ebp - 0x228], 0
jmp 0x10222525
mov ecx, dword [ebp - 0x88]
and ecx, 1
jne 0x10222515
mov edx, dword [ebp - 0x88]
and edx, 0x100
je 0x1022251e
mov byte [ebp - 0x228], 0
jmp 0x10222525
mov byte [ebp - 0x228], 1
movzx eax, byte [ebp - 0x228]
test eax, eax
je 0x10222544
mov ecx, dword [ebp - 0x36c]
add ecx, 1
mov dword [ebp - 0x36c], ecx
jmp 0x10222497
mov edx, dword [ebp - 0x36c]
mov dword [ebp - 0xaa4], edx
mov eax, dword [ebp - 0xaa4]
mov ecx, dword [ebp - 0x25c]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x25c]
cmp dword [edx + 0xc], 0
jne 0x10222577
mov dword [ebp - 4], 0xffffffff
jmp 0x1022274c
mov eax, 1
test eax, eax
je 0x10222594
mov ecx, dword [ebp - 0x25c]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x464], edx
jmp 0x102225a3
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x464]
push edx
lea eax, [ebp - 0xaac]
push eax
call fcn.10080380
add esp, 8
mov dword [ebp - 0xaa8], eax
mov ecx, dword [ebp - 0xaa8]
push ecx
mov ecx, dword [ebp - 0x25c]
add ecx, 8
call fcn.10080480
lea ecx, [ebp - 0xaac]
call fcn.1007c1e0
mov edx, dword [ebp - 0x25c]
cmp dword [edx + 8], 0
je 0x102225f4
mov byte [ebp - 0x279], 1
jmp 0x102225fb
mov byte [ebp - 0x279], 0
mov al, byte [ebp - 0x279]
mov byte [ebp - 0x2b2], al
movzx ecx, byte [ebp - 0x2b2]
test ecx, ecx
jne 0x1022261e
mov dword [ebp - 4], 0xffffffff
jmp 0x1022274c
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 8]
mov dword [ebp - 0xab0], eax
mov ecx, dword [ebp - 0xab0]
mov dword [ebp - 0x44], ecx
mov edx, 1
test edx, edx
je 0x102226db
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0xab8], edx
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 4]
sub ecx, 4
mov dword [ebp - 0xabc], ecx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xab4], edx
mov eax, dword [ebp - 0xab4]
mov dword [ebp - 0xac0], eax
mov ecx, dword [ebp - 0xab8]
push ecx
mov edx, dword [ebp - 0xabc]
push edx
mov eax, dword [ebp - 0xac0]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0xac4], ecx
mov edx, dword [ebp - 0xac4]
add edx, 4
mov dword [ebp - 0xac8], edx
cmp dword [ebp - 0x338], 0
jne 0x102226c1
jmp 0x102226cf
mov eax, dword [ebp - 0x338]
mov ecx, dword [ebp - 0xac8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x25c]
mov byte [edx + 0x10], 1
jmp 0x10222745
mov eax, dword [ebp - 0x25c]
mov ecx, dword [eax + 0xc]
shl ecx, 2
mov dword [ebp - 0xad0], ecx
mov edx, dword [ebp - 0x25c]
mov eax, dword [edx + 4]
mov dword [ebp - 0xad4], eax
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0xacc], ecx
mov edx, dword [ebp - 0xacc]
mov dword [ebp - 0xad8], edx
mov eax, dword [ebp - 0xad0]
push eax
mov ecx, dword [ebp - 0xad4]
push ecx
mov edx, dword [ebp - 0xad8]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x338], 0
jne 0x1022273a
jmp 0x10222745
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x338]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x224]
add edx, 0x14
mov dword [ebp - 0x33c], edx
mov dword [ebp - 0xadc], 0x1025ff30
mov eax, dword [ebp - 0xadc]
mov dword [ebp - 0xae0], eax
mov ecx, dword [ebp - 0x33c]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1022278f
mov eax, 0x11
add eax, 1
mov dword [ebp - 0x468], eax
jmp 0x10222799
mov dword [ebp - 0x468], 0x11
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x33c]
cmp dword [edx + 4], 0
je 0x102227f5
mov eax, dword [ebp - 0x33c]
cmp dword [eax + 8], 0
je 0x102227c6
mov byte [ebp - 0x27a], 1
jmp 0x102227cd
mov byte [ebp - 0x27a], 0
mov cl, byte [ebp - 0x27a]
mov byte [ebp - 0x2b1], cl
movzx edx, byte [ebp - 0x2b1]
test edx, edx
je 0x102227f5
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x46c]
cmp ecx, dword [eax + 0xc]
jbe 0x10222822
mov dword [ebp - 0x478], 0
mov edx, dword [ebp - 0x218]
or edx, 0x100
mov dword [ebp - 0x218], edx
lea eax, [ebp - 0x478]
mov dword [ebp - 0x140c], eax
jmp 0x1022298d
mov ecx, dword [ebp - 0xae0]
mov dword [ebp - 0xae4], ecx
mov edx, dword [ebp - 0xae4]
mov dword [ebp - 0xaf0], edx
mov eax, dword [ebp - 0x33c]
add eax, 8
mov dword [ebp - 0xae8], eax
mov ecx, dword [ebp - 0xae8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x46c]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xaec], ecx
mov edx, dword [ebp - 0xaec]
mov eax, dword [ebp - 0xaf0]
mov dword [edx], eax
mov ecx, 0x11
shl ecx, 2
mov edx, dword [ebp - 0x33c]
add ecx, dword [edx + 4]
mov dword [ebp - 0x470], ecx
mov eax, dword [ebp - 0x470]
cmp dword [eax], 0
je 0x102228e1
mov ecx, dword [ebp - 0x470]
mov edx, dword [ecx]
mov dword [ebp - 0xaf4], edx
mov eax, dword [ebp - 0xaf4]
mov dword [ebp - 0xaf8], eax
lea ecx, [ebp - 0xaf8]
mov dword [ebp - 0xafc], ecx
mov edx, dword [ebp - 0xafc]
mov dword [ebp - 0xb00], edx
mov eax, dword [ebp - 0x218]
or eax, 0x200
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0xb00]
mov dword [ebp - 0x474], ecx
jmp 0x10222921
mov dword [ebp - 0xb04], 0
lea edx, [ebp - 0xb04]
mov dword [ebp - 0xb08], edx
mov eax, dword [ebp - 0xb08]
mov dword [ebp - 0xb0c], eax
mov ecx, dword [ebp - 0x218]
or ecx, 0x400
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0xb0c]
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0xb10], eax
mov ecx, dword [ebp - 0xb10]
mov edx, dword [ecx]
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x218]
or eax, 0x800
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
and ecx, 0x400
je 0x10222964
and dword [ebp - 0x218], 0xfffffbff
mov edx, dword [ebp - 0x218]
and edx, 0x200
je 0x1022297c
and dword [ebp - 0x218], 0xfffffdff
mov eax, dword [ebp - 0x218]
or eax, 0x100
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x224]
add ecx, 0x14
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0xb14], 0x1025fe00
mov edx, dword [ebp - 0xb14]
mov dword [ebp - 0xb18], edx
mov eax, dword [ebp - 0x340]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x102229d0
mov edx, 0x12
add edx, 1
mov dword [ebp - 0x47c], edx
jmp 0x102229da
mov dword [ebp - 0x47c], 0x12
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x340]
cmp dword [ecx + 4], 0
je 0x10222a36
mov edx, dword [ebp - 0x340]
cmp dword [edx + 8], 0
je 0x10222a07
mov byte [ebp - 0x27b], 1
jmp 0x10222a0e
mov byte [ebp - 0x27b], 0
mov al, byte [ebp - 0x27b]
mov byte [ebp - 0x2b0], al
movzx ecx, byte [ebp - 0x2b0]
test ecx, ecx
je 0x10222a36
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x480]
cmp eax, dword [edx + 0xc]
jbe 0x10222a63
mov dword [ebp - 0x48c], 0
mov ecx, dword [ebp - 0x218]
or ecx, 0x1000
mov dword [ebp - 0x218], ecx
lea edx, [ebp - 0x48c]
mov dword [ebp - 0x1410], edx
jmp 0x10222bcf
mov eax, dword [ebp - 0xb18]
mov dword [ebp - 0xb1c], eax
mov ecx, dword [ebp - 0xb1c]
mov dword [ebp - 0xb28], ecx
mov edx, dword [ebp - 0x340]
add edx, 8
mov dword [ebp - 0xb20], edx
mov eax, dword [ebp - 0xb20]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x480]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xb24]
mov edx, dword [ebp - 0xb28]
mov dword [ecx], edx
mov eax, 0x12
shl eax, 2
mov ecx, dword [ebp - 0x340]
add eax, dword [ecx + 4]
mov dword [ebp - 0x484], eax
mov edx, dword [ebp - 0x484]
cmp dword [edx], 0
je 0x10222b23
mov eax, dword [ebp - 0x484]
mov ecx, dword [eax]
mov dword [ebp - 0xb2c], ecx
mov edx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb30], edx
lea eax, [ebp - 0xb30]
mov dword [ebp - 0xb34], eax
mov ecx, dword [ebp - 0xb34]
mov dword [ebp - 0xb38], ecx
mov edx, dword [ebp - 0x218]
or edx, 0x2000
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0xb38]
mov dword [ebp - 0x488], eax
jmp 0x10222b62
mov dword [ebp - 0xb3c], 0
lea ecx, [ebp - 0xb3c]
mov dword [ebp - 0xb40], ecx
mov edx, dword [ebp - 0xb40]
mov dword [ebp - 0xb44], edx
mov eax, dword [ebp - 0x218]
or eax, 0x4000
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0xb44]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x488]
mov dword [ebp - 0xb48], edx
mov eax, dword [ebp - 0xb48]
mov ecx, dword [eax]
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x218]
or edx, 0x8000
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x218]
and eax, 0x4000
je 0x10222ba5
and dword [ebp - 0x218], 0xffffbfff
mov ecx, dword [ebp - 0x218]
and ecx, 0x2000
je 0x10222bbd
and dword [ebp - 0x218], 0xffffdfff
mov edx, dword [ebp - 0x218]
or edx, 0x1000
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0x224]
add eax, 0x14
mov dword [ebp - 0x310], eax
mov dword [ebp - 0xb4c], 0x102601b0
mov ecx, dword [ebp - 0xb4c]
mov dword [ebp - 0xb50], ecx
mov edx, dword [ebp - 0x310]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10222c12
mov ecx, 0x18
add ecx, 1
mov dword [ebp - 0x490], ecx
jmp 0x10222c1c
mov dword [ebp - 0x490], 0x18
mov edx, dword [ebp - 0x490]
mov dword [ebp - 0x494], edx
mov eax, dword [ebp - 0x310]
cmp dword [eax + 4], 0
je 0x10222c78
mov ecx, dword [ebp - 0x310]
cmp dword [ecx + 8], 0
je 0x10222c49
mov byte [ebp - 0x27c], 1
jmp 0x10222c50
mov byte [ebp - 0x27c], 0
mov dl, byte [ebp - 0x27c]
mov byte [ebp - 0x2af], dl
movzx eax, byte [ebp - 0x2af]
test eax, eax
je 0x10222c78
mov ecx, dword [ebp - 0x310]
mov edx, dword [ebp - 0x494]
cmp edx, dword [ecx + 0xc]
jbe 0x10222ca4
mov dword [ebp - 0x4a0], 0
mov eax, dword [ebp - 0x218]
or eax, 0x10000
mov dword [ebp - 0x218], eax
lea ecx, [ebp - 0x4a0]
mov dword [ebp - 0x1350], ecx
jmp 0x10222e11
mov edx, dword [ebp - 0xb50]
mov dword [ebp - 0xb54], edx
mov eax, dword [ebp - 0xb54]
mov dword [ebp - 0xb60], eax
mov ecx, dword [ebp - 0x310]
add ecx, 8
mov dword [ebp - 0xb58], ecx
mov edx, dword [ebp - 0xb58]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x494]
lea edx, [eax + ecx*4]
mov dword [ebp - 0xb5c], edx
mov eax, dword [ebp - 0xb5c]
mov ecx, dword [ebp - 0xb60]
mov dword [eax], ecx
mov edx, 0x18
shl edx, 2
mov eax, dword [ebp - 0x310]
add edx, dword [eax + 4]
mov dword [ebp - 0x498], edx
mov ecx, dword [ebp - 0x498]
cmp dword [ecx], 0
je 0x10222d64
mov edx, dword [ebp - 0x498]
mov eax, dword [edx]
mov dword [ebp - 0xb64], eax
mov ecx, dword [ebp - 0xb64]
mov dword [ebp - 0xb68], ecx
lea edx, [ebp - 0xb68]
mov dword [ebp - 0xb6c], edx
mov eax, dword [ebp - 0xb6c]
mov dword [ebp - 0xb70], eax
mov ecx, dword [ebp - 0x218]
or ecx, 0x20000
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0xb70]
mov dword [ebp - 0x49c], edx
jmp 0x10222da4
mov dword [ebp - 0xb74], 0
lea eax, [ebp - 0xb74]
mov dword [ebp - 0xb78], eax
mov ecx, dword [ebp - 0xb78]
mov dword [ebp - 0xb7c], ecx
mov edx, dword [ebp - 0x218]
or edx, 0x40000
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0xb7c]
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0xb80], ecx
mov edx, dword [ebp - 0xb80]
mov eax, dword [edx]
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x218]
or ecx, 0x80000
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x218]
and edx, 0x40000
je 0x10222de8
and dword [ebp - 0x218], 0xfffbffff
mov eax, dword [ebp - 0x218]
and eax, 0x20000
je 0x10222dff
and dword [ebp - 0x218], 0xfffdffff
mov ecx, dword [ebp - 0x218]
or ecx, 0x10000
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x224]
add edx, 0x14
mov dword [ebp - 0x344], edx
mov dword [ebp - 0xb84], 0x102604d0
mov eax, dword [ebp - 0xb84]
mov dword [ebp - 0xb88], eax
mov ecx, dword [ebp - 0x344]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10222e54
mov eax, 0x2c
add eax, 1
mov dword [ebp - 0x4a4], eax
jmp 0x10222e5e
mov dword [ebp - 0x4a4], 0x2c
mov ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x344]
cmp dword [edx + 4], 0
je 0x10222eba
mov eax, dword [ebp - 0x344]
cmp dword [eax + 8], 0
je 0x10222e8b
mov byte [ebp - 0x27d], 1
jmp 0x10222e92
mov byte [ebp - 0x27d], 0
mov cl, byte [ebp - 0x27d]
mov byte [ebp - 0x2ae], cl
movzx edx, byte [ebp - 0x2ae]
test edx, edx
je 0x10222eba
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x4a8]
cmp ecx, dword [eax + 0xc]
jbe 0x10222ee7
mov dword [ebp - 0x4b4], 0
mov edx, dword [ebp - 0x218]
or edx, 0x100000
mov dword [ebp - 0x218], edx
lea eax, [ebp - 0x4b4]
mov dword [ebp - 0x1354], eax
jmp 0x10223052
mov ecx, dword [ebp - 0xb88]
mov dword [ebp - 0xb8c], ecx
mov edx, dword [ebp - 0xb8c]
mov dword [ebp - 0xb98], edx
mov eax, dword [ebp - 0x344]
add eax, 8
mov dword [ebp - 0xb90], eax
mov ecx, dword [ebp - 0xb90]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4a8]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xb94], ecx
mov edx, dword [ebp - 0xb94]
mov eax, dword [ebp - 0xb98]
mov dword [edx], eax
mov ecx, 0x2c
shl ecx, 2
mov edx, dword [ebp - 0x344]
add ecx, dword [edx + 4]
mov dword [ebp - 0x4ac], ecx
mov eax, dword [ebp - 0x4ac]
cmp dword [eax], 0
je 0x10222fa6
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx]
mov dword [ebp - 0xb9c], edx
mov eax, dword [ebp - 0xb9c]
mov dword [ebp - 0xba0], eax
lea ecx, [ebp - 0xba0]
mov dword [ebp - 0xba4], ecx
mov edx, dword [ebp - 0xba4]
mov dword [ebp - 0xba8], edx
mov eax, dword [ebp - 0x218]
or eax, 0x200000
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0xba8]
mov dword [ebp - 0x4b0], ecx
jmp 0x10222fe6
mov dword [ebp - 0xbac], 0
lea edx, [ebp - 0xbac]
mov dword [ebp - 0xbb0], edx
mov eax, dword [ebp - 0xbb0]
mov dword [ebp - 0xbb4], eax
mov ecx, dword [ebp - 0x218]
or ecx, 0x400000
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0xbb4]
mov dword [ebp - 0x4b0], edx
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0xbb8], eax
mov ecx, dword [ebp - 0xbb8]
mov edx, dword [ecx]
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x218]
or eax, 0x800000
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
and ecx, 0x400000
je 0x10223029
and dword [ebp - 0x218], 0xffbfffff
mov edx, dword [ebp - 0x218]
and edx, 0x200000
je 0x10223041
and dword [ebp - 0x218], 0xffdfffff
mov eax, dword [ebp - 0x218]
or eax, 0x100000
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x224]
add ecx, 0x8c
mov dword [ebp - 0x258], ecx
mov edx, dword [0x108a1c20]
mov dword [ebp - 0xbbc], edx
lea eax, [ebp - 0x348]
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x4b8]
mov edx, dword [ebp - 0xbbc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0xbc0], eax
mov ecx, dword [ebp - 0xbc0]
mov dword [ebp - 0x1358], ecx
mov dword [ebp - 4], 5
mov edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x348]
mov dword [edx], eax
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx]
mov dword [ebp - 0xbc4], edx
mov eax, dword [ebp - 0xbc4]
mov ecx, dword [ebp - 0x258]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x258]
cmp dword [edx + 4], 0
jne 0x102230ec
mov dword [ebp - 4], 0xffffffff
jmp 0x102233aa
mov dword [ebp - 0x374], 0
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x374]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xbc8], eax
mov ecx, dword [ebp - 0xbc8]
mov dword [ebp - 0x4bc], ecx
cmp dword [ebp - 0x4bc], 0
jne 0x1022312c
mov byte [ebp - 0x229], 0
jmp 0x10223183
mov edx, dword [0x105611f4]
mov dword [ebp - 0xbcc], edx
push 0x1c
lea eax, [ebp - 0x160]
push eax
mov ecx, dword [ebp - 0x4bc]
push ecx
call dword [ebp - 0xbcc]
test eax, eax
jne 0x1022315b
mov byte [ebp - 0x229], 0
jmp 0x10223183
mov edx, dword [ebp - 0x14c]
and edx, 1
jne 0x10223173
mov eax, dword [ebp - 0x14c]
and eax, 0x100
je 0x1022317c
mov byte [ebp - 0x229], 0
jmp 0x10223183
mov byte [ebp - 0x229], 1
movzx ecx, byte [ebp - 0x229]
test ecx, ecx
je 0x102231a2
mov edx, dword [ebp - 0x374]
add edx, 1
mov dword [ebp - 0x374], edx
jmp 0x102230f6
mov eax, dword [ebp - 0x374]
mov dword [ebp - 0xbd0], eax
mov ecx, dword [ebp - 0xbd0]
mov edx, dword [ebp - 0x258]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x258]
cmp dword [eax + 0xc], 0
jne 0x102231d5
mov dword [ebp - 4], 0xffffffff
jmp 0x102233aa
mov ecx, 1
test ecx, ecx
je 0x102231f2
mov edx, dword [ebp - 0x258]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x4c0], eax
jmp 0x10223201
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4c0], edx
mov eax, dword [ebp - 0x4c0]
push eax
lea ecx, [ebp - 0xbd8]
push ecx
call fcn.10080380
add esp, 8
mov dword [ebp - 0xbd4], eax
mov edx, dword [ebp - 0xbd4]
push edx
mov ecx, dword [ebp - 0x258]
add ecx, 8
call fcn.10080480
lea ecx, [ebp - 0xbd8]
call fcn.1007c1e0
mov eax, dword [ebp - 0x258]
cmp dword [eax + 8], 0
je 0x10223252
mov byte [ebp - 0x27e], 1
jmp 0x10223259
mov byte [ebp - 0x27e], 0
mov cl, byte [ebp - 0x27e]
mov byte [ebp - 0x2ad], cl
movzx edx, byte [ebp - 0x2ad]
test edx, edx
jne 0x1022327c
mov dword [ebp - 4], 0xffffffff
jmp 0x102233aa
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbdc], ecx
mov edx, dword [ebp - 0xbdc]
mov dword [ebp - 0x40], edx
mov eax, 1
test eax, eax
je 0x10223339
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0xc]
lea eax, [edx*4 + 4]
mov dword [ebp - 0xbe4], eax
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 4]
sub edx, 4
mov dword [ebp - 0xbe8], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0xbe0], eax
mov ecx, dword [ebp - 0xbe0]
mov dword [ebp - 0xbec], ecx
mov edx, dword [ebp - 0xbe4]
push edx
mov eax, dword [ebp - 0xbe8]
push eax
mov ecx, dword [ebp - 0xbec]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xbf0], edx
mov eax, dword [ebp - 0xbf0]
add eax, 4
mov dword [ebp - 0xbf4], eax
cmp dword [ebp - 0x348], 0
jne 0x1022331f
jmp 0x1022332d
mov ecx, dword [ebp - 0x348]
mov edx, dword [ebp - 0xbf4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x258]
mov byte [eax + 0x10], 1
jmp 0x102233a3
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0xc]
shl edx, 2
mov dword [ebp - 0xbfc], edx
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc00], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xbf8], edx
mov eax, dword [ebp - 0xbf8]
mov dword [ebp - 0xc04], eax
mov ecx, dword [ebp - 0xbfc]
push ecx
mov edx, dword [ebp - 0xc00]
push edx
mov eax, dword [ebp - 0xc04]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x348], 0
jne 0x10223398
jmp 0x102233a3
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x348]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x224]
add eax, 0x8c
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0xc08], 0x1024c1c0
mov ecx, dword [ebp - 0xc08]
mov dword [ebp - 0xc0c], ecx
mov edx, dword [ebp - 0x34c]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x102233ef
mov ecx, 0x43
add ecx, 1
mov dword [ebp - 0x4c4], ecx
jmp 0x102233f9
mov dword [ebp - 0x4c4], 0x43
mov edx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], edx
mov eax, dword [ebp - 0x34c]
cmp dword [eax + 4], 0
je 0x10223455
mov ecx, dword [ebp - 0x34c]
cmp dword [ecx + 8], 0
je 0x10223426
mov byte [ebp - 0x27f], 1
jmp 0x1022342d
mov byte [ebp - 0x27f], 0
mov dl, byte [ebp - 0x27f]
mov byte [ebp - 0x2ac], dl
movzx eax, byte [ebp - 0x2ac]
test eax, eax
je 0x10223455
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ebp - 0x4c8]
cmp edx, dword [ecx + 0xc]
jbe 0x10223481
mov dword [ebp - 0x4d4], 0
mov eax, dword [ebp - 0x218]
or eax, 0x1000000
mov dword [ebp - 0x218], eax
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x135c], ecx
jmp 0x102235ee
mov edx, dword [ebp - 0xc0c]
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xc10]
mov dword [ebp - 0xc1c], eax
mov ecx, dword [ebp - 0x34c]
add ecx, 8
mov dword [ebp - 0xc14], ecx
mov edx, dword [ebp - 0xc14]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c8]
lea edx, [eax + ecx*4]
mov dword [ebp - 0xc18], edx
mov eax, dword [ebp - 0xc18]
mov ecx, dword [ebp - 0xc1c]
mov dword [eax], ecx
mov edx, 0x43
shl edx, 2
mov eax, dword [ebp - 0x34c]
add edx, dword [eax + 4]
mov dword [ebp - 0x4cc], edx
mov ecx, dword [ebp - 0x4cc]
cmp dword [ecx], 0
je 0x10223541
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx]
mov dword [ebp - 0xc20], eax
mov ecx, dword [ebp - 0xc20]
mov dword [ebp - 0xc24], ecx
lea edx, [ebp - 0xc24]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xc2c], eax
mov ecx, dword [ebp - 0x218]
or ecx, 0x2000000
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0xc2c]
mov dword [ebp - 0x4d0], edx
jmp 0x10223581
mov dword [ebp - 0xc30], 0
lea eax, [ebp - 0xc30]
mov dword [ebp - 0xc34], eax
mov ecx, dword [ebp - 0xc34]
mov dword [ebp - 0xc38], ecx
mov edx, dword [ebp - 0x218]
or edx, 0x4000000
mov dword [ebp - 0x218], edx
mov eax, dword [ebp - 0xc38]
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xc3c], ecx
mov edx, dword [ebp - 0xc3c]
mov eax, dword [edx]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x218]
or ecx, 0x8000000
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x218]
and edx, 0x4000000
je 0x102235c5
and dword [ebp - 0x218], 0xfbffffff
mov eax, dword [ebp - 0x218]
and eax, 0x2000000
je 0x102235dc
and dword [ebp - 0x218], 0xfdffffff
mov ecx, dword [ebp - 0x218]
or ecx, 0x1000000
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0x224]
add edx, 0x8c
mov dword [ebp - 0x350], edx
mov dword [ebp - 0xc40], 0x1024c160
mov eax, dword [ebp - 0xc40]
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0x350]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10223634
mov eax, 0x52
add eax, 1
mov dword [ebp - 0x4d8], eax
jmp 0x1022363e
mov dword [ebp - 0x4d8], 0x52
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], ecx
mov edx, dword [ebp - 0x350]
cmp dword [edx + 4], 0
je 0x1022369a
mov eax, dword [ebp - 0x350]
cmp dword [eax + 8], 0
je 0x1022366b
mov byte [ebp - 0x280], 1
jmp 0x10223672
mov byte [ebp - 0x280], 0
mov cl, byte [ebp - 0x280]
mov byte [ebp - 0x2ab], cl
movzx edx, byte [ebp - 0x2ab]
test edx, edx
je 0x1022369a
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [eax + 0xc]
jbe 0x102236c7
mov dword [ebp - 0x4e8], 0
mov edx, dword [ebp - 0x218]
or edx, 0x10000000
mov dword [ebp - 0x218], edx
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x1360], eax
jmp 0x10223832
mov ecx, dword [ebp - 0xc44]
mov dword [ebp - 0xc48], ecx
mov edx, dword [ebp - 0xc48]
mov dword [ebp - 0xc54], edx
mov eax, dword [ebp - 0x350]
add eax, 8
mov dword [ebp - 0xc4c], eax
mov ecx, dword [ebp - 0xc4c]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4dc]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xc50], ecx
mov edx, dword [ebp - 0xc50]
mov eax, dword [ebp - 0xc54]
mov dword [edx], eax
mov ecx, 0x52
shl ecx, 2
mov edx, dword [ebp - 0x350]
add ecx, dword [edx + 4]
mov dword [ebp - 0x4e0], ecx
mov eax, dword [ebp - 0x4e0]
cmp dword [eax], 0
je 0x10223786
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [ecx]
mov dword [ebp - 0xc58], edx
mov eax, dword [ebp - 0xc58]
mov dword [ebp - 0xc5c], eax
lea ecx, [ebp - 0xc5c]
mov dword [ebp - 0xc60], ecx
mov edx, dword [ebp - 0xc60]
mov dword [ebp - 0xc64], edx
mov eax, dword [ebp - 0x218]
or eax, 0x20000000
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0xc64]
mov dword [ebp - 0x4e4], ecx
jmp 0x102237c6
mov dword [ebp - 0xc68], 0
lea edx, [ebp - 0xc68]
mov dword [ebp - 0xc6c], edx
mov eax, dword [ebp - 0xc6c]
mov dword [ebp - 0xc70], eax
mov ecx, dword [ebp - 0x218]
or ecx, 0x40000000
mov dword [ebp - 0x218], ecx
mov edx, dword [ebp - 0xc70]
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0xc74], eax
mov ecx, dword [ebp - 0xc74]
mov edx, dword [ecx]
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x218]
or eax, 0x80000000
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x218]
and ecx, 0x40000000
je 0x10223809
and dword [ebp - 0x218], 0xbfffffff
mov edx, dword [ebp - 0x218]
and edx, 0x20000000
je 0x10223821
and dword [ebp - 0x218], 0xdfffffff
mov eax, dword [ebp - 0x218]
or eax, 0x10000000
mov dword [ebp - 0x218], eax
mov ecx, dword [ebp - 0x224]
add ecx, 0x8c
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0xc78], 0x1024c0f0
mov edx, dword [ebp - 0xc78]
mov dword [ebp - 0xc7c], edx
mov eax, dword [ebp - 0x354]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10223878
mov edx, 0x74
add edx, 1
mov dword [ebp - 0x4ec], edx
jmp 0x10223882
mov dword [ebp - 0x4ec], 0x74
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x354]
cmp dword [ecx + 4], 0
je 0x102238de
mov edx, dword [ebp - 0x354]
cmp dword [edx + 8], 0
je 0x102238af
mov byte [ebp - 0x281], 1
jmp 0x102238b6
mov byte [ebp - 0x281], 0
mov al, byte [ebp - 0x281]
mov byte [ebp - 0x2a8], al
movzx ecx, byte [ebp - 0x2a8]
test ecx, ecx
je 0x102238de
mov edx, dword [ebp - 0x354]
mov eax, dword [ebp - 0x4f0]
cmp eax, dword [edx + 0xc]
jbe 0x10223908
mov dword [ebp - 0x4fc], 0
mov ecx, dword [ebp - 0x21c]
or ecx, 1
mov dword [ebp - 0x21c], ecx
lea edx, [ebp - 0x4fc]
mov dword [ebp - 0x1364], edx
jmp 0x10223a5e
mov eax, dword [ebp - 0xc7c]
mov dword [ebp - 0xc80], eax
mov ecx, dword [ebp - 0xc80]
mov dword [ebp - 0xc8c], ecx
mov edx, dword [ebp - 0x354]
add edx, 8
mov dword [ebp - 0xc84], edx
mov eax, dword [ebp - 0xc84]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4f0]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xc88], eax
mov ecx, dword [ebp - 0xc88]
mov edx, dword [ebp - 0xc8c]
mov dword [ecx], edx
mov eax, 0x74
shl eax, 2
mov ecx, dword [ebp - 0x354]
add eax, dword [ecx + 4]
mov dword [ebp - 0x4f4], eax
mov edx, dword [ebp - 0x4f4]
cmp dword [edx], 0
je 0x102239c5
mov eax, dword [ebp - 0x4f4]
mov ecx, dword [eax]
mov dword [ebp - 0xc90], ecx
mov edx, dword [ebp - 0xc90]
mov dword [ebp - 0xc94], edx
lea eax, [ebp - 0xc94]
mov dword [ebp - 0xc98], eax
mov ecx, dword [ebp - 0xc98]
mov dword [ebp - 0xc9c], ecx
mov edx, dword [ebp - 0x21c]
or edx, 2
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0xc9c]
mov dword [ebp - 0x4f8], eax
jmp 0x10223a02
mov dword [ebp - 0xca0], 0
lea ecx, [ebp - 0xca0]
mov dword [ebp - 0xca4], ecx
mov edx, dword [ebp - 0xca4]
mov dword [ebp - 0xca8], edx
mov eax, dword [ebp - 0x21c]
or eax, 4
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0xca8]
mov dword [ebp - 0x4f8], ecx
mov edx, dword [ebp - 0x4f8]
mov dword [ebp - 0xcac], edx
mov eax, dword [ebp - 0xcac]
mov ecx, dword [eax]
mov dword [ebp - 0x4fc], ecx
mov edx, dword [ebp - 0x21c]
or edx, 8
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x21c]
and eax, 4
je 0x10223a3d
and dword [ebp - 0x21c], 0xfffffffb
mov ecx, dword [ebp - 0x21c]
and ecx, 2
je 0x10223a4f
and dword [ebp - 0x21c], 0xfffffffd
mov edx, dword [ebp - 0x21c]
or edx, 1
mov dword [ebp - 0x21c], edx
mov eax, dword [ebp - 0x224]
add eax, 0xf0
mov dword [ebp - 0x254], eax
mov ecx, dword [0x108a1c40]
mov dword [ebp - 0xcb0], ecx
lea edx, [ebp - 0x358]
mov dword [ebp - 0x500], edx
mov eax, dword [ebp - 0x500]
mov ecx, dword [ebp - 0xcb0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x500]
mov dword [ebp - 0xcb4], edx
mov eax, dword [ebp - 0xcb4]
mov dword [ebp - 0x1368], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x358]
mov dword [ecx], edx
mov eax, dword [ebp - 0x358]
mov ecx, dword [eax]
mov dword [ebp - 0xcb8], ecx
mov edx, dword [ebp - 0xcb8]
mov eax, dword [ebp - 0x254]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x254]
cmp dword [ecx + 4], 0
jne 0x10223af7
mov dword [ebp - 4], 0xffffffff
jmp 0x10223db6
mov dword [ebp - 0x378], 0
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x378]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xcbc], edx
mov eax, dword [ebp - 0xcbc]
mov dword [ebp - 0x504], eax
cmp dword [ebp - 0x504], 0
jne 0x10223b37
mov byte [ebp - 0x22a], 0
jmp 0x10223b8f
mov ecx, dword [0x105611f4]
mov dword [ebp - 0xcc0], ecx
push 0x1c
lea edx, [ebp - 0x128]
push edx
mov eax, dword [ebp - 0x504]
push eax
call dword [ebp - 0xcc0]
test eax, eax
jne 0x10223b66
mov byte [ebp - 0x22a], 0
jmp 0x10223b8f
mov ecx, dword [ebp - 0x114]
and ecx, 1
jne 0x10223b7f
mov edx, dword [ebp - 0x114]
and edx, 0x100
je 0x10223b88
mov byte [ebp - 0x22a], 0
jmp 0x10223b8f
mov byte [ebp - 0x22a], 1
movzx eax, byte [ebp - 0x22a]
test eax, eax
je 0x10223bae
mov edx, dword [ebp - 0x224]
add edx, 0xf0
mov dword [ebp - 0x35c], edx
mov dword [ebp - 0xcfc], 0x1020d880
mov eax, dword [ebp - 0xcfc]
mov dword [ebp - 0xd00], eax
mov ecx, dword [ebp - 0x35c]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10223dfc
mov eax, 0x15
add eax, 1
mov dword [ebp - 0x50c], eax
jmp 0x10223e06
mov dword [ebp - 0x50c], 0x15
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x35c]
cmp dword [edx + 4], 0
je 0x10223e62
mov eax, dword [ebp - 0x35c]
cmp dword [eax + 8], 0
je 0x10223e33
mov byte [ebp - 0x283], 1
jmp 0x10223e3a
mov byte [ebp - 0x283], 0
mov cl, byte [ebp - 0x283]
mov byte [ebp - 0x2a6], cl
movzx edx, byte [ebp - 0x2a6]
test edx, edx
je 0x10223e62
mov dword [ebp - 0x51c], 0
mov edx, dword [ebp - 0x21c]
or edx, 0x10
mov dword [ebp - 0x21c], edx
lea eax, [ebp - 0x51c]
mov dword [ebp - 0x136c], eax
jmp 0x10223fe4
mov ecx, dword [ebp - 0x224]
add ecx, 0xdc
mov dword [ebp - 0x238], ecx
mov edx, dword [0x108a1c38]
mov dword [ebp - 0xd34], edx
lea eax, [ebp - 0x360]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov edx, dword [ebp - 0xd34]
mov dword [ecx], edx
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0xd38], eax
mov ecx, dword [ebp - 0xd38]
mov dword [ebp - 0x1370], ecx
mov dword [ebp - 4], 7
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x360]
mov dword [edx], eax
mov ecx, dword [ebp - 0x360]
mov edx, dword [ecx]
mov dword [ebp - 0xd3c], edx
mov eax, dword [ebp - 0xd3c]
mov ecx, dword [ebp - 0x238]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x238]
cmp dword [edx + 4], 0
jne 0x1022407e