Function at 0x102262b0
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x102aa270
mov eax, dword fs:[0]
push eax
mov eax, 0x17e8
call fcn.10297600
mov eax, dword [0x10561040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x208], 0
mov dword [ebp - 0x20c], 0
mov ecx, 0x108ce978
call fcn.10297320
mov eax, dword [0x105621b8]
mov dword [ebp - 0x133c], eax
mov dword [ebp - 0x11d4], 0x10296f00
mov ecx, dword [ebp - 0x11d4]
mov dword [ebp - 0x11e0], ecx
mov edx, dword [ebp - 0x11e0]
mov dword [ebp - 0x11fc], edx
mov eax, dword [0x108a2a3c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x1208], ecx
mov edx, dword [ebp - 0x11fc]
push edx
push 0xfffffffffffffffc
mov eax, dword [ebp - 0x1208]
push eax
call dword [ebp - 0x133c]
mov ecx, dword [ebp - 0x210]
mov dword [ecx + 0x6ec], eax
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x23c], edx
mov eax, dword [0x108a29d4]
mov dword [ebp - 0x1340], eax
lea ecx, [ebp - 0x2f0]
mov dword [ebp - 0x5b0], ecx
mov edx, dword [ebp - 0x5b0]
mov eax, dword [ebp - 0x1340]
mov dword [edx], eax
mov ecx, dword [ebp - 0x5b0]
mov dword [ebp - 0x1344], ecx
mov edx, dword [ebp - 0x1344]
mov dword [ebp - 0x1440], edx
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x2f0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2f0]
mov eax, dword [edx]
mov dword [ebp - 0x1348], eax
mov ecx, dword [ebp - 0x1348]
mov edx, dword [ebp - 0x23c]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 4], 0
jne 0x10226407
mov dword [ebp - 4], 0xffffffff
jmp 0x102266c5
mov dword [ebp - 0x374], 0
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x374]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x134c], ecx
mov edx, dword [ebp - 0x134c]
mov dword [ebp - 0x734], edx
cmp dword [ebp - 0x734], 0
jne 0x10226447
mov byte [ebp - 0x21b], 0
jmp 0x1022649e
mov eax, dword [0x105621b4]
mov dword [ebp - 0x1350], eax
push 0x1c
lea ecx, [ebp - 0x1c8]
push ecx
mov edx, dword [ebp - 0x734]
push edx
call dword [ebp - 0x1350]
test eax, eax
jne 0x10226475
mov byte [ebp - 0x21b], 0
jmp 0x1022649e
mov eax, dword [ebp - 0x1b4]
and eax, 1
jne 0x1022648e
mov ecx, dword [ebp - 0x1b4]
and ecx, 0x100
je 0x10226497
mov byte [ebp - 0x21b], 0
jmp 0x1022649e
mov byte [ebp - 0x21b], 1
movzx edx, byte [ebp - 0x21b]
test edx, edx
je 0x102264bd
mov eax, dword [ebp - 0x374]
add eax, 1
mov dword [ebp - 0x374], eax
jmp 0x10226411
mov ecx, dword [ebp - 0x374]
mov dword [ebp - 0x1354], ecx
mov edx, dword [ebp - 0x1354]
mov eax, dword [ebp - 0x23c]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 0xc], 0
jne 0x102264f0
mov dword [ebp - 4], 0xffffffff
jmp 0x102266c5
mov edx, 1
test edx, edx
je 0x1022650d
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov dword [ebp - 0x738], ecx
jmp 0x1022651c
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x738]
push ecx
lea edx, [ebp - 0x135c]
push edx
call fcn.1007de00
add esp, 8
mov dword [ebp - 0x1358], eax
mov eax, dword [ebp - 0x1358]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 8
call fcn.1007df00
lea ecx, [ebp - 0x135c]
call fcn.10079e50
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 8], 0
je 0x1022656d
mov byte [ebp - 0x259], 1
jmp 0x10226574
mov byte [ebp - 0x259], 0
mov dl, byte [ebp - 0x259]
mov byte [ebp - 0x2ae], dl
movzx eax, byte [ebp - 0x2ae]
test eax, eax
jne 0x10226597
mov dword [ebp - 4], 0xffffffff
jmp 0x102266c5
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1360], edx
mov eax, dword [ebp - 0x1360]
mov dword [ebp - 0x48], eax
mov ecx, 1
test ecx, ecx
je 0x10226654
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
mov dword [ebp - 0x1368], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 4]
sub eax, 4
mov dword [ebp - 0x136c], eax
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x1364], ecx
mov edx, dword [ebp - 0x1364]
mov dword [ebp - 0x1370], edx
mov eax, dword [ebp - 0x1368]
push eax
mov ecx, dword [ebp - 0x136c]
push ecx
mov edx, dword [ebp - 0x1370]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x1374], eax
mov ecx, dword [ebp - 0x1374]
add ecx, 4
mov dword [ebp - 0x1378], ecx
cmp dword [ebp - 0x2f0], 0
jne 0x1022663a
jmp 0x10226648
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x1378]
mov dword [edx], eax
mov ecx, dword [ebp - 0x23c]
mov byte [ecx + 0x10], 1
jmp 0x102266be
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xc]
shl eax, 2
mov dword [ebp - 0x788], eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x78c], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x784], eax
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x790], ecx
mov edx, dword [ebp - 0x788]
push edx
mov eax, dword [ebp - 0x78c]
push eax
mov ecx, dword [ebp - 0x790]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x2f0], 0
jne 0x102266b3
jmp 0x102266be
mov edx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2f0]
mov dword [eax], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x210]
mov dword [ebp - 0x2e8], ecx
mov dword [ebp - 0x794], 0x102621c0
mov edx, dword [ebp - 0x794]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x2e8]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10226705
mov edx, 0x29
add edx, 1
mov dword [ebp - 0x73c], edx
jmp 0x1022670f
mov dword [ebp - 0x73c], 0x29
mov eax, dword [ebp - 0x73c]
mov dword [ebp - 0x740], eax
mov ecx, dword [ebp - 0x2e8]
cmp dword [ecx + 4], 0
je 0x1022676b
mov edx, dword [ebp - 0x2e8]
cmp dword [edx + 8], 0
je 0x1022673c
mov byte [ebp - 0x25a], 1
jmp 0x10226743
mov byte [ebp - 0x25a], 0
mov al, byte [ebp - 0x25a]
mov byte [ebp - 0x289], al
movzx ecx, byte [ebp - 0x289]
test ecx, ecx
je 0x1022676b
mov edx, dword [ebp - 0x2e8]
mov eax, dword [ebp - 0x740]
cmp eax, dword [edx + 0xc]
jbe 0x10226795
mov dword [ebp - 0x74c], 0
mov ecx, dword [ebp - 0x200]
or ecx, 1
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x74c]
mov dword [ebp - 0x1444], edx
jmp 0x102268eb
mov eax, dword [ebp - 0x798]
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
mov dword [ebp - 0x7a8], ecx
mov edx, dword [ebp - 0x2e8]
add edx, 8
mov dword [ebp - 0x7a0], edx
mov eax, dword [ebp - 0x7a0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x740]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x7a4], eax
mov ecx, dword [ebp - 0x7a4]
mov edx, dword [ebp - 0x7a8]
mov dword [ecx], edx
mov eax, 0x29
shl eax, 2
mov ecx, dword [ebp - 0x2e8]
add eax, dword [ecx + 4]
mov dword [ebp - 0x744], eax
mov edx, dword [ebp - 0x744]
cmp dword [edx], 0
je 0x10226852
mov eax, dword [ebp - 0x744]
mov ecx, dword [eax]
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], edx
lea eax, [ebp - 0x7b0]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b4]
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x200]
or edx, 2
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x7b8]
mov dword [ebp - 0x748], eax
jmp 0x1022688f
mov dword [ebp - 0x7bc], 0
lea ecx, [ebp - 0x7bc]
mov dword [ebp - 0x7c0], ecx
mov edx, dword [ebp - 0x7c0]
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x200]
or eax, 4
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x748], ecx
mov edx, dword [ebp - 0x748]
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x7c8]
mov ecx, dword [eax]
mov dword [ebp - 0x74c], ecx
mov edx, dword [ebp - 0x200]
or edx, 8
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 4
je 0x102268ca
and dword [ebp - 0x200], 0xfffffffb
mov ecx, dword [ebp - 0x200]
and ecx, 2
je 0x102268dc
and dword [ebp - 0x200], 0xfffffffd
mov edx, dword [ebp - 0x200]
or edx, 1
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x210]
add eax, 0x28
mov dword [ebp - 0x238], eax
mov ecx, dword [0x108a29bc]
mov dword [ebp - 0x7cc], ecx
lea edx, [ebp - 0x2f4]
mov dword [ebp - 0x750], edx
mov eax, dword [ebp - 0x750]
mov ecx, dword [ebp - 0x7cc]
mov dword [eax], ecx
mov edx, dword [ebp - 0x750]
mov dword [ebp - 0x7d0], edx
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x1448], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x2f4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax]
mov dword [ebp - 0x7d4], ecx
mov edx, dword [ebp - 0x7d4]
mov eax, dword [ebp - 0x238]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x238]
cmp dword [ecx + 4], 0
jne 0x10226982
mov dword [ebp - 4], 0xffffffff
jmp 0x10226c41
mov dword [ebp - 0x380], 0
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x380]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7d8]
mov dword [ebp - 0x754], eax
cmp dword [ebp - 0x754], 0
jne 0x102269c2
mov byte [ebp - 0x211], 0
jmp 0x10226a1a
mov ecx, dword [0x105621b4]
mov dword [ebp - 0x7dc], ecx
push 0x1c
lea edx, [ebp - 0x1ac]
push edx
mov eax, dword [ebp - 0x754]
push eax
call dword [ebp - 0x7dc]
test eax, eax
jne 0x102269f1
mov byte [ebp - 0x211], 0
jmp 0x10226a1a
mov ecx, dword [ebp - 0x198]
and ecx, 1
jne 0x10226a0a
mov edx, dword [ebp - 0x198]
and edx, 0x100
je 0x10226a13
mov byte [ebp - 0x211], 0
jmp 0x10226a1a
mov byte [ebp - 0x211], 1
movzx eax, byte [ebp - 0x211]
test eax, eax
je 0x10226a39
mov ecx, dword [ebp - 0x380]
add ecx, 1
mov dword [ebp - 0x380], ecx
jmp 0x1022698c
mov edx, dword [ebp - 0x380]
mov dword [ebp - 0x7e0], edx
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [ebp - 0x238]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x238]
cmp dword [edx + 0xc], 0
jne 0x10226a6c
mov dword [ebp - 4], 0xffffffff
jmp 0x10226c41
mov eax, 1
test eax, eax
je 0x10226a89
mov ecx, dword [ebp - 0x238]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x758], edx
jmp 0x10226a98
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x758], ecx
mov edx, dword [ebp - 0x758]
push edx
lea eax, [ebp - 0x7e8]
push eax
call fcn.1007de00
add esp, 8
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x7e4]
push ecx
mov ecx, dword [ebp - 0x238]
add ecx, 8
call fcn.1007df00
lea ecx, [ebp - 0x7e8]
call fcn.10079e50
mov edx, dword [ebp - 0x238]
cmp dword [edx + 8], 0
je 0x10226ae9
mov byte [ebp - 0x25b], 1
jmp 0x10226af0
mov byte [ebp - 0x25b], 0
mov al, byte [ebp - 0x25b]
mov byte [ebp - 0x2ad], al
movzx ecx, byte [ebp - 0x2ad]
test ecx, ecx
jne 0x10226b13
mov dword [ebp - 4], 0xffffffff
jmp 0x10226c41
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 8]
mov dword [ebp - 0x7ec], eax
mov ecx, dword [ebp - 0x7ec]
mov dword [ebp - 0x4c], ecx
mov edx, 1
test edx, edx
je 0x10226bd0
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0x7f4], edx
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax + 4]
sub ecx, 4
mov dword [ebp - 0x7f8], ecx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x7f0], edx
mov eax, dword [ebp - 0x7f0]
mov dword [ebp - 0x7fc], eax
mov ecx, dword [ebp - 0x7f4]
push ecx
mov edx, dword [ebp - 0x7f8]
push edx
mov eax, dword [ebp - 0x7fc]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x800], ecx
mov edx, dword [ebp - 0x800]
add edx, 4
mov dword [ebp - 0x804], edx
cmp dword [ebp - 0x2f4], 0
jne 0x10226bb6
jmp 0x10226bc4
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [ebp - 0x804]
mov dword [eax], ecx
mov edx, dword [ebp - 0x238]
mov byte [edx + 0x10], 1
jmp 0x10226c3a
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax + 0xc]
shl ecx, 2
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 4]
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x808]
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x80c]
push eax
mov ecx, dword [ebp - 0x810]
push ecx
mov edx, dword [ebp - 0x814]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x2f4], 0
jne 0x10226c2f
jmp 0x10226c3a
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x2f4]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x210]
add edx, 0x28
mov dword [ebp - 0x2f8], edx
mov dword [ebp - 0x818], 0x1023a410
mov eax, dword [ebp - 0x818]
mov dword [ebp - 0x81c], eax
mov ecx, dword [ebp - 0x2f8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10226c84
mov eax, 5
add eax, 1
mov dword [ebp - 0x75c], eax
jmp 0x10226c8e
mov dword [ebp - 0x75c], 5
mov ecx, dword [ebp - 0x75c]
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x2f8]
cmp dword [edx + 4], 0
je 0x10226cea
mov eax, dword [ebp - 0x2f8]
cmp dword [eax + 8], 0
je 0x10226cbb
mov byte [ebp - 0x25c], 1
jmp 0x10226cc2
mov byte [ebp - 0x25c], 0
mov cl, byte [ebp - 0x25c]
mov byte [ebp - 0x2ac], cl
movzx edx, byte [ebp - 0x2ac]
test edx, edx
je 0x10226cea
mov eax, dword [ebp - 0x2f8]
mov ecx, dword [ebp - 0x760]
cmp ecx, dword [eax + 0xc]
jbe 0x10226d14
mov dword [ebp - 0x76c], 0
mov edx, dword [ebp - 0x200]
or edx, 0x10
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x76c]
mov dword [ebp - 0x144c], eax
jmp 0x10226e6c
mov ecx, dword [ebp - 0x81c]
mov dword [ebp - 0x820], ecx
mov edx, dword [ebp - 0x820]
mov dword [ebp - 0x82c], edx
mov eax, dword [ebp - 0x2f8]
add eax, 8
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x824]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x760]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x828], ecx
mov edx, dword [ebp - 0x828]
mov eax, dword [ebp - 0x82c]
mov dword [edx], eax
mov ecx, 5
shl ecx, 2
mov edx, dword [ebp - 0x2f8]
add ecx, dword [edx + 4]
mov dword [ebp - 0x764], ecx
mov eax, dword [ebp - 0x764]
cmp dword [eax], 0
je 0x10226dd1
mov ecx, dword [ebp - 0x764]
mov edx, dword [ecx]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x830]
mov dword [ebp - 0x834], eax
lea ecx, [ebp - 0x834]
mov dword [ebp - 0x838], ecx
mov edx, dword [ebp - 0x838]
mov dword [ebp - 0x83c], edx
mov eax, dword [ebp - 0x200]
or eax, 0x20
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x83c]
mov dword [ebp - 0x768], ecx
jmp 0x10226e0e
mov dword [ebp - 0x840], 0
lea edx, [ebp - 0x840]
mov dword [ebp - 0x844], edx
mov eax, dword [ebp - 0x844]
mov dword [ebp - 0x848], eax
mov ecx, dword [ebp - 0x200]
or ecx, 0x40
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x848]
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x84c]
mov edx, dword [ecx]
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x200]
or eax, 0x80
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
and ecx, 0x40
je 0x10226e4b
and dword [ebp - 0x200], 0xffffffbf
mov edx, dword [ebp - 0x200]
and edx, 0x20
je 0x10226e5d
and dword [ebp - 0x200], 0xffffffdf
mov eax, dword [ebp - 0x200]
or eax, 0x10
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x210]
add ecx, 0x28
mov dword [ebp - 0x2fc], ecx
mov dword [ebp - 0x850], 0x1023a6d0
mov edx, dword [ebp - 0x850]
mov dword [ebp - 0x854], edx
mov eax, dword [ebp - 0x2fc]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10226eaf
mov edx, 6
add edx, 1
mov dword [ebp - 0x770], edx
jmp 0x10226eb9
mov dword [ebp - 0x770], 6
mov eax, dword [ebp - 0x770]
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x2fc]
cmp dword [ecx + 4], 0
je 0x10226f15
mov edx, dword [ebp - 0x2fc]
cmp dword [edx + 8], 0
je 0x10226ee6
mov byte [ebp - 0x25d], 1
jmp 0x10226eed
mov byte [ebp - 0x25d], 0
mov al, byte [ebp - 0x25d]
mov byte [ebp - 0x2ab], al
movzx ecx, byte [ebp - 0x2ab]
test ecx, ecx
je 0x10226f15
mov edx, dword [ebp - 0x2fc]
mov eax, dword [ebp - 0x774]
cmp eax, dword [edx + 0xc]
jbe 0x10226f42
mov dword [ebp - 0x3b4], 0
mov ecx, dword [ebp - 0x200]
or ecx, 0x100
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x3b4]
mov dword [ebp - 0x1450], edx
jmp 0x102270ae
mov eax, dword [ebp - 0x854]
mov dword [ebp - 0x858], eax
mov ecx, dword [ebp - 0x858]
mov dword [ebp - 0x864], ecx
mov edx, dword [ebp - 0x2fc]
add edx, 8
mov dword [ebp - 0x85c], edx
mov eax, dword [ebp - 0x85c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x774]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x860], eax
mov ecx, dword [ebp - 0x860]
mov edx, dword [ebp - 0x864]
mov dword [ecx], edx
mov eax, 6
shl eax, 2
mov ecx, dword [ebp - 0x2fc]
add eax, dword [ecx + 4]
mov dword [ebp - 0x778], eax
mov edx, dword [ebp - 0x778]
cmp dword [edx], 0
je 0x10227002
mov eax, dword [ebp - 0x778]
mov ecx, dword [eax]
mov dword [ebp - 0x868], ecx
mov edx, dword [ebp - 0x868]
mov dword [ebp - 0x86c], edx
lea eax, [ebp - 0x86c]
mov dword [ebp - 0x870], eax
mov ecx, dword [ebp - 0x870]
mov dword [ebp - 0x874], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x200
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x874]
mov dword [ebp - 0x77c], eax
jmp 0x10227041
mov dword [ebp - 0x878], 0
lea ecx, [ebp - 0x878]
mov dword [ebp - 0x87c], ecx
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov eax, dword [ebp - 0x200]
or eax, 0x400
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x880]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x77c]
mov dword [ebp - 0x884], edx
mov eax, dword [ebp - 0x884]
mov ecx, dword [eax]
mov dword [ebp - 0x3b4], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x800
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x400
je 0x10227084
and dword [ebp - 0x200], 0xfffffbff
mov ecx, dword [ebp - 0x200]
and ecx, 0x200
je 0x1022709c
and dword [ebp - 0x200], 0xfffffdff
mov edx, dword [ebp - 0x200]
or edx, 0x100
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x210]
add eax, 0x28
mov dword [ebp - 0x300], eax
mov dword [ebp - 0x888], 0x1023a5e0
mov ecx, dword [ebp - 0x888]
mov dword [ebp - 0x88c], ecx
mov edx, dword [ebp - 0x300]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x102270f1
mov ecx, 7
add ecx, 1
mov dword [ebp - 0x3b8], ecx
jmp 0x102270fb
mov dword [ebp - 0x3b8], 7
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0x3bc], edx
mov eax, dword [ebp - 0x300]
cmp dword [eax + 4], 0
je 0x10227157
mov ecx, dword [ebp - 0x300]
cmp dword [ecx + 8], 0
je 0x10227128
mov byte [ebp - 0x25e], 1
jmp 0x1022712f
mov byte [ebp - 0x25e], 0
mov dl, byte [ebp - 0x25e]
mov byte [ebp - 0x2aa], dl
movzx eax, byte [ebp - 0x2aa]
test eax, eax
je 0x10227157
mov ecx, dword [ebp - 0x300]
mov edx, dword [ebp - 0x3bc]
cmp edx, dword [ecx + 0xc]
jbe 0x10227183
mov dword [ebp - 0x3c8], 0
mov eax, dword [ebp - 0x200]
or eax, 0x1000
mov dword [ebp - 0x200], eax
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 0x1454], ecx
jmp 0x102272f0
mov edx, dword [ebp - 0x88c]
mov dword [ebp - 0x890], edx
mov eax, dword [ebp - 0x890]
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x300]
add ecx, 8
mov dword [ebp - 0x894], ecx
mov edx, dword [ebp - 0x894]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3bc]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x898], edx
mov eax, dword [ebp - 0x898]
mov ecx, dword [ebp - 0x89c]
mov dword [eax], ecx
mov edx, 7
shl edx, 2
mov eax, dword [ebp - 0x300]
add edx, dword [eax + 4]
mov dword [ebp - 0x3c0], edx
mov ecx, dword [ebp - 0x3c0]
cmp dword [ecx], 0
je 0x10227243
mov edx, dword [ebp - 0x3c0]
mov eax, dword [edx]
mov dword [ebp - 0x8a0], eax
mov ecx, dword [ebp - 0x8a0]
mov dword [ebp - 0x8a4], ecx
lea edx, [ebp - 0x8a4]
mov dword [ebp - 0x8a8], edx
mov eax, dword [ebp - 0x8a8]
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x200]
or ecx, 0x2000
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x8ac]
mov dword [ebp - 0x3c4], edx
jmp 0x10227283
mov dword [ebp - 0x8b0], 0
lea eax, [ebp - 0x8b0]
mov dword [ebp - 0x8b4], eax
mov ecx, dword [ebp - 0x8b4]
mov dword [ebp - 0x8b8], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x4000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x8b8]
mov dword [ebp - 0x3c4], eax
mov ecx, dword [ebp - 0x3c4]
mov dword [ebp - 0x8bc], ecx
mov edx, dword [ebp - 0x8bc]
mov eax, dword [edx]
mov dword [ebp - 0x3c8], eax
mov ecx, dword [ebp - 0x200]
or ecx, 0x8000
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x200]
and edx, 0x4000
je 0x102272c7
and dword [ebp - 0x200], 0xffffbfff
mov eax, dword [ebp - 0x200]
and eax, 0x2000
je 0x102272de
and dword [ebp - 0x200], 0xffffdfff
mov ecx, dword [ebp - 0x200]
or ecx, 0x1000
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x210]
add edx, 0x28
mov dword [ebp - 0x304], edx
mov dword [ebp - 0x8c0], 0x102393d0
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x8c4], eax
mov ecx, dword [ebp - 0x304]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10227333
mov eax, 0x24
add eax, 1
mov dword [ebp - 0x3cc], eax
jmp 0x1022733d
mov dword [ebp - 0x3cc], 0x24
mov ecx, dword [ebp - 0x3cc]
mov dword [ebp - 0x3d0], ecx
mov edx, dword [ebp - 0x304]
cmp dword [edx + 4], 0
je 0x10227399
mov eax, dword [ebp - 0x304]
cmp dword [eax + 8], 0
je 0x1022736a
mov byte [ebp - 0x25f], 1
jmp 0x10227371
mov byte [ebp - 0x25f], 0
mov cl, byte [ebp - 0x25f]
mov byte [ebp - 0x2a9], cl
movzx edx, byte [ebp - 0x2a9]
test edx, edx
je 0x10227399
mov eax, dword [ebp - 0x304]
mov ecx, dword [ebp - 0x3d0]
cmp ecx, dword [eax + 0xc]
jbe 0x102273c6
mov dword [ebp - 0x3dc], 0
mov edx, dword [ebp - 0x200]
or edx, 0x10000
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x3dc]
mov dword [ebp - 0x1458], eax
jmp 0x10227531
mov ecx, dword [ebp - 0x8c4]
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x8c8]
mov dword [ebp - 0x8d4], edx
mov eax, dword [ebp - 0x304]
add eax, 8
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x8cc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x3d0]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x8d0], ecx
mov edx, dword [ebp - 0x8d0]
mov eax, dword [ebp - 0x8d4]
mov dword [edx], eax
mov ecx, 0x24
shl ecx, 2
mov edx, dword [ebp - 0x304]
add ecx, dword [edx + 4]
mov dword [ebp - 0x3d4], ecx
mov eax, dword [ebp - 0x3d4]
cmp dword [eax], 0
je 0x10227485
mov ecx, dword [ebp - 0x3d4]
mov edx, dword [ecx]
mov dword [ebp - 0x8d8], edx
mov eax, dword [ebp - 0x8d8]
mov dword [ebp - 0x8dc], eax
lea ecx, [ebp - 0x8dc]
mov dword [ebp - 0x8e0], ecx
mov edx, dword [ebp - 0x8e0]
mov dword [ebp - 0x8e4], edx
mov eax, dword [ebp - 0x200]
or eax, 0x20000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x3d8], ecx
jmp 0x102274c5
mov dword [ebp - 0x8e8], 0
lea edx, [ebp - 0x8e8]
mov dword [ebp - 0x8ec], edx
mov eax, dword [ebp - 0x8ec]
mov dword [ebp - 0x8f0], eax
mov ecx, dword [ebp - 0x200]
or ecx, 0x40000
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x8f0]
mov dword [ebp - 0x3d8], edx
mov eax, dword [ebp - 0x3d8]
mov dword [ebp - 0x8f4], eax
mov ecx, dword [ebp - 0x8f4]
mov edx, dword [ecx]
mov dword [ebp - 0x3dc], edx
mov eax, dword [ebp - 0x200]
or eax, 0x80000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
and ecx, 0x40000
je 0x10227508
and dword [ebp - 0x200], 0xfffbffff
mov edx, dword [ebp - 0x200]
and edx, 0x20000
je 0x10227520
and dword [ebp - 0x200], 0xfffdffff
mov eax, dword [ebp - 0x200]
or eax, 0x10000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x210]
add ecx, 0x50
mov dword [ebp - 0x258], ecx
mov edx, dword [0x108a29c4]
mov dword [ebp - 0x8f8], edx
lea eax, [ebp - 0x308]
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x8f8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0x8fc], eax
mov ecx, dword [ebp - 0x8fc]
mov dword [ebp - 0x145c], ecx
mov dword [ebp - 4], 2
mov edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x308]
mov dword [edx], eax
mov ecx, dword [ebp - 0x308]
mov edx, dword [ecx]
mov dword [ebp - 0x900], edx
mov eax, dword [ebp - 0x900]
mov ecx, dword [ebp - 0x258]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x258]
cmp dword [edx + 4], 0
jne 0x102275c8
mov dword [ebp - 4], 0xffffffff
jmp 0x10227880
mov dword [ebp - 0x38c], 0
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x38c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x904], eax
mov ecx, dword [ebp - 0x904]
mov dword [ebp - 0x3e4], ecx
cmp dword [ebp - 0x3e4], 0
jne 0x10227608
mov byte [ebp - 0x212], 0
jmp 0x10227659
mov edx, dword [0x105621b4]
mov dword [ebp - 0x908], edx
push 0x1c
lea eax, [ebp - 0x94]
push eax
mov ecx, dword [ebp - 0x3e4]
push ecx
call dword [ebp - 0x908]
test eax, eax
jne 0x10227637
mov byte [ebp - 0x212], 0
jmp 0x10227659
mov edx, dword [ebp - 0x80]
and edx, 1
jne 0x10227649
mov eax, dword [ebp - 0x80]
and eax, 0x100
je 0x10227652
mov byte [ebp - 0x212], 0
jmp 0x10227659
mov byte [ebp - 0x212], 1
movzx ecx, byte [ebp - 0x212]
test ecx, ecx
je 0x10227678
mov edx, dword [ebp - 0x38c]
add edx, 1
mov dword [ebp - 0x38c], edx
jmp 0x102275d2
mov eax, dword [ebp - 0x38c]
mov dword [ebp - 0x90c], eax
mov ecx, dword [ebp - 0x90c]
mov edx, dword [ebp - 0x258]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x258]
cmp dword [eax + 0xc], 0
jne 0x102276ab
mov dword [ebp - 4], 0xffffffff
jmp 0x10227880
mov ecx, 1
test ecx, ecx
je 0x102276c8
mov edx, dword [ebp - 0x258]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x3e8], eax
jmp 0x102276d7
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x3e8], edx
mov eax, dword [ebp - 0x3e8]
push eax
lea ecx, [ebp - 0x914]
push ecx
call fcn.1007de00
add esp, 8
mov dword [ebp - 0x910], eax
mov edx, dword [ebp - 0x910]
push edx
mov ecx, dword [ebp - 0x258]
add ecx, 8
call fcn.1007df00
lea ecx, [ebp - 0x914]
call fcn.10079e50
mov eax, dword [ebp - 0x258]
cmp dword [eax + 8], 0
je 0x10227728
mov byte [ebp - 0x260], 1
jmp 0x1022772f
mov byte [ebp - 0x260], 0
mov cl, byte [ebp - 0x260]
mov byte [ebp - 0x2a8], cl
movzx edx, byte [ebp - 0x2a8]
test edx, edx
jne 0x10227752
mov dword [ebp - 4], 0xffffffff
jmp 0x10227880
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x918], ecx
mov edx, dword [ebp - 0x918]
mov dword [ebp - 0x40], edx
mov eax, 1
test eax, eax
je 0x1022780f
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0xc]
lea eax, [edx*4 + 4]
mov dword [ebp - 0x920], eax
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 4]
sub edx, 4
mov dword [ebp - 0x924], edx
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x91c], eax
mov ecx, dword [ebp - 0x91c]
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x920]
push edx
mov eax, dword [ebp - 0x924]
push eax
mov ecx, dword [ebp - 0x928]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x92c], edx
mov eax, dword [ebp - 0x92c]
add eax, 4
mov dword [ebp - 0x930], eax
cmp dword [ebp - 0x308], 0
jne 0x102277f5
jmp 0x10227803
mov ecx, dword [ebp - 0x308]
mov edx, dword [ebp - 0x930]
mov dword [ecx], edx
mov eax, dword [ebp - 0x258]
mov byte [eax + 0x10], 1
jmp 0x10227879
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx + 0xc]
shl edx, 2
mov dword [ebp - 0x938], edx
mov eax, dword [ebp - 0x258]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x93c], ecx
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x934], edx
mov eax, dword [ebp - 0x934]
mov dword [ebp - 0x940], eax
mov ecx, dword [ebp - 0x938]
push ecx
mov edx, dword [ebp - 0x93c]
push edx
mov eax, dword [ebp - 0x940]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x308], 0
jne 0x1022786e
jmp 0x10227879
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x308]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x210]
add eax, 0x50
mov dword [ebp - 0x30c], eax
mov dword [ebp - 0x944], 0x10235580
mov ecx, dword [ebp - 0x944]
mov dword [ebp - 0x948], ecx
mov edx, dword [ebp - 0x30c]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x102278c3
mov ecx, 0x1b
add ecx, 1
mov dword [ebp - 0x3ec], ecx
jmp 0x102278cd
mov dword [ebp - 0x3ec], 0x1b
mov edx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f0], edx
mov eax, dword [ebp - 0x30c]
cmp dword [eax + 4], 0
je 0x10227929
mov ecx, dword [ebp - 0x30c]
cmp dword [ecx + 8], 0
je 0x102278fa
mov byte [ebp - 0x261], 1
jmp 0x10227901
mov byte [ebp - 0x261], 0
mov dl, byte [ebp - 0x261]
mov byte [ebp - 0x2a7], dl
movzx eax, byte [ebp - 0x2a7]
test eax, eax
je 0x10227929
mov ecx, dword [ebp - 0x30c]
mov edx, dword [ebp - 0x3f0]
cmp edx, dword [ecx + 0xc]
jbe 0x10227955
mov dword [ebp - 0x3fc], 0
mov eax, dword [ebp - 0x200]
or eax, 0x100000
mov dword [ebp - 0x200], eax
lea ecx, [ebp - 0x3fc]
mov dword [ebp - 0x1460], ecx
jmp 0x10227ac2
mov edx, dword [ebp - 0x948]
mov dword [ebp - 0x94c], edx
mov eax, dword [ebp - 0x94c]
mov dword [ebp - 0x958], eax
mov ecx, dword [ebp - 0x30c]
add ecx, 8
mov dword [ebp - 0x950], ecx
mov edx, dword [ebp - 0x950]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x3f0]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x954], edx
mov eax, dword [ebp - 0x954]
mov ecx, dword [ebp - 0x958]
mov dword [eax], ecx
mov edx, 0x1b
shl edx, 2
mov eax, dword [ebp - 0x30c]
add edx, dword [eax + 4]
mov dword [ebp - 0x3f4], edx
mov ecx, dword [ebp - 0x3f4]
cmp dword [ecx], 0
je 0x10227a15
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx]
mov dword [ebp - 0x95c], eax
mov ecx, dword [ebp - 0x95c]
mov dword [ebp - 0x960], ecx
lea edx, [ebp - 0x960]
mov dword [ebp - 0x964], edx
mov eax, dword [ebp - 0x964]
mov dword [ebp - 0x968], eax
mov ecx, dword [ebp - 0x200]
or ecx, 0x200000
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x968]
mov dword [ebp - 0x3f8], edx
jmp 0x10227a55
mov dword [ebp - 0x96c], 0
lea eax, [ebp - 0x96c]
mov dword [ebp - 0x970], eax
mov ecx, dword [ebp - 0x970]
mov dword [ebp - 0x974], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x400000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x974]
mov dword [ebp - 0x3f8], eax
mov ecx, dword [ebp - 0x3f8]
mov dword [ebp - 0x978], ecx
mov edx, dword [ebp - 0x978]
mov eax, dword [edx]
mov dword [ebp - 0x3fc], eax
mov ecx, dword [ebp - 0x200]
or ecx, 0x800000
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x200]
and edx, 0x400000
je 0x10227a99
and dword [ebp - 0x200], 0xffbfffff
mov eax, dword [ebp - 0x200]
and eax, 0x200000
je 0x10227ab0
and dword [ebp - 0x200], 0xffdfffff
mov ecx, dword [ebp - 0x200]
or ecx, 0x100000
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x210]
add edx, 0x50
mov dword [ebp - 0x310], edx
mov dword [ebp - 0x97c], 0x10235210
mov eax, dword [ebp - 0x97c]
mov dword [ebp - 0x980], eax
mov ecx, dword [ebp - 0x310]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10227b05
mov eax, 0x5d
add eax, 1
mov dword [ebp - 0x400], eax
jmp 0x10227b0f
mov dword [ebp - 0x400], 0x5d
mov ecx, dword [ebp - 0x400]
mov dword [ebp - 0x404], ecx
mov edx, dword [ebp - 0x310]
cmp dword [edx + 4], 0
je 0x10227b6b
mov eax, dword [ebp - 0x310]
cmp dword [eax + 8], 0
je 0x10227b3c
mov byte [ebp - 0x262], 1
jmp 0x10227b43
mov byte [ebp - 0x262], 0
mov cl, byte [ebp - 0x262]
mov byte [ebp - 0x2a6], cl
movzx edx, byte [ebp - 0x2a6]
test edx, edx
je 0x10227b6b
mov eax, dword [ebp - 0x310]
mov ecx, dword [ebp - 0x404]
cmp ecx, dword [eax + 0xc]
jbe 0x10227b98
mov dword [ebp - 0x410], 0
mov edx, dword [ebp - 0x200]
or edx, 0x1000000
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x410]
mov dword [ebp - 0x1464], eax
jmp 0x10227d03
mov ecx, dword [ebp - 0x980]
mov dword [ebp - 0x984], ecx
mov edx, dword [ebp - 0x984]
mov dword [ebp - 0x990], edx
mov eax, dword [ebp - 0x310]
add eax, 8
mov dword [ebp - 0x988], eax
mov ecx, dword [ebp - 0x988]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x404]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x98c], ecx
mov edx, dword [ebp - 0x98c]
mov eax, dword [ebp - 0x990]
mov dword [edx], eax
mov ecx, 0x5d
shl ecx, 2
mov edx, dword [ebp - 0x310]
add ecx, dword [edx + 4]
mov dword [ebp - 0x408], ecx
mov eax, dword [ebp - 0x408]
cmp dword [eax], 0
je 0x10227c57
mov ecx, dword [ebp - 0x408]
mov edx, dword [ecx]
mov dword [ebp - 0x994], edx
mov eax, dword [ebp - 0x994]
mov dword [ebp - 0x998], eax
lea ecx, [ebp - 0x998]
mov dword [ebp - 0x99c], ecx
mov edx, dword [ebp - 0x99c]
mov dword [ebp - 0x9a0], edx
mov eax, dword [ebp - 0x200]
or eax, 0x2000000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x9a0]
mov dword [ebp - 0x40c], ecx
jmp 0x10227c97
mov dword [ebp - 0x9a4], 0
lea edx, [ebp - 0x9a4]
mov dword [ebp - 0x9a8], edx
mov eax, dword [ebp - 0x9a8]
mov dword [ebp - 0x9ac], eax
mov ecx, dword [ebp - 0x200]
or ecx, 0x4000000
mov dword [ebp - 0x200], ecx
mov edx, dword [ebp - 0x9ac]
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x40c]
mov dword [ebp - 0x9b0], eax
mov ecx, dword [ebp - 0x9b0]
mov edx, dword [ecx]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x200]
or eax, 0x8000000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x200]
and ecx, 0x4000000
je 0x10227cda
and dword [ebp - 0x200], 0xfbffffff
mov edx, dword [ebp - 0x200]
and edx, 0x2000000
je 0x10227cf2
and dword [ebp - 0x200], 0xfdffffff
mov eax, dword [ebp - 0x200]
or eax, 0x1000000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x210]
add ecx, 0x50
mov dword [ebp - 0x314], ecx
mov dword [ebp - 0x9b4], 0x10234f50
mov edx, dword [ebp - 0x9b4]
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x314]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10227d46
mov edx, 0x5a
add edx, 1
mov dword [ebp - 0x414], edx
jmp 0x10227d50
mov dword [ebp - 0x414], 0x5a
mov eax, dword [ebp - 0x414]
mov dword [ebp - 0x418], eax
mov ecx, dword [ebp - 0x314]
cmp dword [ecx + 4], 0
je 0x10227dac
mov edx, dword [ebp - 0x314]
cmp dword [edx + 8], 0
je 0x10227d7d
mov byte [ebp - 0x263], 1
jmp 0x10227d84
mov byte [ebp - 0x263], 0
mov al, byte [ebp - 0x263]
mov byte [ebp - 0x2a5], al
movzx ecx, byte [ebp - 0x2a5]
test ecx, ecx
je 0x10227dac
mov edx, dword [ebp - 0x314]
mov eax, dword [ebp - 0x418]
cmp eax, dword [edx + 0xc]
jbe 0x10227dd9
mov dword [ebp - 0x424], 0
mov ecx, dword [ebp - 0x200]
or ecx, 0x10000000
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x424]
mov dword [ebp - 0x143c], edx
jmp 0x10227f45
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x9bc]
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x314]
add edx, 8
mov dword [ebp - 0x9c0], edx
mov eax, dword [ebp - 0x9c0]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x418]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x9c4], eax
mov ecx, dword [ebp - 0x9c4]
mov edx, dword [ebp - 0x9c8]
mov dword [ecx], edx
mov eax, 0x5a
shl eax, 2
mov ecx, dword [ebp - 0x314]
add eax, dword [ecx + 4]
mov dword [ebp - 0x41c], eax
mov edx, dword [ebp - 0x41c]
cmp dword [edx], 0
je 0x10227e99
mov eax, dword [ebp - 0x41c]
mov ecx, dword [eax]
mov dword [ebp - 0x9cc], ecx
mov edx, dword [ebp - 0x9cc]
mov dword [ebp - 0x9d0], edx
lea eax, [ebp - 0x9d0]
mov dword [ebp - 0x9d4], eax
mov ecx, dword [ebp - 0x9d4]
mov dword [ebp - 0x9d8], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x20000000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x9d8]
mov dword [ebp - 0x420], eax
jmp 0x10227ed8
mov dword [ebp - 0x9dc], 0
lea ecx, [ebp - 0x9dc]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x9e0]
mov dword [ebp - 0x9e4], edx
mov eax, dword [ebp - 0x200]
or eax, 0x40000000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x9e4]
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x9e8], edx
mov eax, dword [ebp - 0x9e8]
mov ecx, dword [eax]
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x80000000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x40000000
je 0x10227f1b
and dword [ebp - 0x200], 0xbfffffff
mov ecx, dword [ebp - 0x200]
and ecx, 0x20000000
je 0x10227f33
and dword [ebp - 0x200], 0xdfffffff
mov edx, dword [ebp - 0x200]
or edx, 0x10000000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x210]
add eax, 0x78
mov dword [ebp - 0x240], eax
mov ecx, dword [0x108a29dc]
mov dword [ebp - 0x9ec], ecx
lea edx, [ebp - 0x318]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x428]
mov ecx, dword [ebp - 0x9ec]
mov dword [eax], ecx
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x9f0], edx
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x1468], eax
mov dword [ebp - 4], 3
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x318]
mov dword [ecx], edx
mov eax, dword [ebp - 0x318]
mov ecx, dword [eax]
mov dword [ebp - 0x9f4], ecx
mov edx, dword [ebp - 0x9f4]
mov eax, dword [ebp - 0x240]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x240]
cmp dword [ecx + 4], 0
jne 0x10227fdc
mov dword [ebp - 4], 0xffffffff
jmp 0x1022829b
mov dword [ebp - 0x398], 0
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x398]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9f8]
mov dword [ebp - 0x42c], eax
cmp dword [ebp - 0x42c], 0
jne 0x1022801c
mov byte [ebp - 0x213], 0
jmp 0x10228074
mov ecx, dword [0x105621b4]
mov dword [ebp - 0x9fc], ecx
push 0x1c
lea edx, [ebp - 0x190]
push edx
mov eax, dword [ebp - 0x42c]
push eax
call dword [ebp - 0x9fc]
test eax, eax
jne 0x1022804b
mov byte [ebp - 0x213], 0
jmp 0x10228074
mov ecx, dword [ebp - 0x17c]
and ecx, 1
jne 0x10228064
mov edx, dword [ebp - 0x17c]
and edx, 0x100
je 0x1022806d
mov byte [ebp - 0x213], 0
jmp 0x10228074
mov byte [ebp - 0x213], 1
movzx eax, byte [ebp - 0x213]
test eax, eax
je 0x10228093
mov ecx, dword [ebp - 0x398]
add ecx, 1
mov dword [ebp - 0x398], ecx
jmp 0x10227fe6
mov edx, dword [ebp - 0x398]
mov dword [ebp - 0xa00], edx
mov eax, dword [ebp - 0xa00]
mov ecx, dword [ebp - 0x240]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x240]
cmp dword [edx + 0xc], 0
jne 0x102280c6
mov dword [ebp - 4], 0xffffffff
jmp 0x1022829b
mov eax, 1
test eax, eax
je 0x102280e3
mov ecx, dword [ebp - 0x240]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x430], edx
jmp 0x102280f2
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x430]
push edx
lea eax, [ebp - 0xa08]
push eax
call fcn.1007de00
add esp, 8
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa04]
push ecx
mov ecx, dword [ebp - 0x240]
add ecx, 8
call fcn.1007df00
lea ecx, [ebp - 0xa08]
call fcn.10079e50
mov edx, dword [ebp - 0x240]
cmp dword [edx + 8], 0
je 0x10228143
mov byte [ebp - 0x264], 1
jmp 0x1022814a
mov byte [ebp - 0x264], 0
mov al, byte [ebp - 0x264]
mov byte [ebp - 0x2a4], al
movzx ecx, byte [ebp - 0x2a4]
test ecx, ecx
jne 0x1022816d
mov dword [ebp - 4], 0xffffffff
jmp 0x1022829b
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 8]
mov dword [ebp - 0xa0c], eax
mov ecx, dword [ebp - 0xa0c]
mov dword [ebp - 0x2c], ecx
mov edx, 1
test edx, edx
je 0x1022822a
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0xa14], edx
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 4]
sub ecx, 4
mov dword [ebp - 0xa18], ecx
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0xa10], edx
mov eax, dword [ebp - 0xa10]
mov dword [ebp - 0xa1c], eax
mov ecx, dword [ebp - 0xa14]
push ecx
mov edx, dword [ebp - 0xa18]
push edx
mov eax, dword [ebp - 0xa1c]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xa20], ecx
mov edx, dword [ebp - 0xa20]
add edx, 4
mov dword [ebp - 0xa24], edx
cmp dword [ebp - 0x318], 0
jne 0x10228210
jmp 0x1022821e
mov eax, dword [ebp - 0x318]
mov ecx, dword [ebp - 0xa24]
mov dword [eax], ecx
mov edx, dword [ebp - 0x240]
mov byte [edx + 0x10], 1
jmp 0x10228294
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax + 0xc]
shl ecx, 2
mov dword [ebp - 0xa2c], ecx
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 4]
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0xa28], ecx
mov edx, dword [ebp - 0xa28]
mov dword [ebp - 0xa34], edx
mov eax, dword [ebp - 0xa2c]
push eax
mov ecx, dword [ebp - 0xa30]
push ecx
mov edx, dword [ebp - 0xa34]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x318], 0
jne 0x10228289
jmp 0x10228294
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x318]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x210]
add edx, 0x78
mov dword [ebp - 0x31c], edx
mov dword [ebp - 0xa38], 0x102776e0
mov eax, dword [ebp - 0xa38]
mov dword [ebp - 0xa3c], eax
mov ecx, dword [ebp - 0x31c]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x102282de
mov eax, 0xe
add eax, 1
mov dword [ebp - 0x434], eax
jmp 0x102282e8
mov dword [ebp - 0x434], 0xe
mov ecx, dword [ebp - 0x434]
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x31c]
cmp dword [edx + 4], 0
je 0x10228344
mov eax, dword [ebp - 0x31c]
cmp dword [eax + 8], 0
je 0x10228315
mov byte [ebp - 0x265], 1
jmp 0x1022831c
mov byte [ebp - 0x265], 0
mov cl, byte [ebp - 0x265]
mov byte [ebp - 0x2a3], cl
movzx edx, byte [ebp - 0x2a3]
test edx, edx
je 0x10228344
mov eax, dword [ebp - 0x31c]
mov ecx, dword [ebp - 0x438]
cmp ecx, dword [eax + 0xc]
jbe 0x1022836e
mov dword [ebp - 0x444], 0
mov edx, dword [ebp - 0x204]
or edx, 1
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x444]
mov dword [ebp - 0x146c], eax
jmp 0x102284c4
mov ecx, dword [ebp - 0xa3c]
mov dword [ebp - 0xa40], ecx
mov edx, dword [ebp - 0xa40]
mov dword [ebp - 0xa4c], edx
mov eax, dword [ebp - 0x31c]
add eax, 8
mov dword [ebp - 0xa44], eax
mov ecx, dword [ebp - 0xa44]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x438]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xa48], ecx
mov edx, dword [ebp - 0xa48]
mov eax, dword [ebp - 0xa4c]
mov dword [edx], eax
mov ecx, 0xe
shl ecx, 2
mov edx, dword [ebp - 0x31c]
add ecx, dword [edx + 4]
mov dword [ebp - 0x43c], ecx
mov eax, dword [ebp - 0x43c]
cmp dword [eax], 0
je 0x1022842b
mov ecx, dword [ebp - 0x43c]
mov edx, dword [ecx]
mov dword [ebp - 0xa50], edx
mov eax, dword [ebp - 0xa50]
mov dword [ebp - 0xa54], eax
lea ecx, [ebp - 0xa54]
mov dword [ebp - 0xa58], ecx
mov edx, dword [ebp - 0xa58]
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0x204]
or eax, 2
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xa5c]
mov dword [ebp - 0x440], ecx
jmp 0x10228468
mov dword [ebp - 0xa60], 0
lea edx, [ebp - 0xa60]
mov dword [ebp - 0xa64], edx
mov eax, dword [ebp - 0xa64]
mov dword [ebp - 0xa68], eax
mov ecx, dword [ebp - 0x204]
or ecx, 4
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0xa68]
mov dword [ebp - 0x440], edx
mov eax, dword [ebp - 0x440]
mov dword [ebp - 0xa6c], eax
mov ecx, dword [ebp - 0xa6c]
mov edx, dword [ecx]
mov dword [ebp - 0x444], edx
mov eax, dword [ebp - 0x204]
or eax, 8
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
and ecx, 4
je 0x102284a3
and dword [ebp - 0x204], 0xfffffffb
mov edx, dword [ebp - 0x204]
and edx, 2
je 0x102284b5
and dword [ebp - 0x204], 0xfffffffd
mov eax, dword [ebp - 0x204]
or eax, 1
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x210]
add ecx, 0x78
mov dword [ebp - 0x320], ecx
mov dword [ebp - 0xa70], 0x102774d0
mov edx, dword [ebp - 0xa70]
mov dword [ebp - 0xa74], edx
mov eax, dword [ebp - 0x320]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10228507
mov edx, 0x13
add edx, 1
mov dword [ebp - 0x448], edx
jmp 0x10228511
mov dword [ebp - 0x448], 0x13
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x320]
cmp dword [ecx + 4], 0
je 0x1022856d
mov edx, dword [ebp - 0x320]
cmp dword [edx + 8], 0
je 0x1022853e
mov byte [ebp - 0x283], 1
jmp 0x10228545
mov byte [ebp - 0x283], 0
mov al, byte [ebp - 0x283]
mov byte [ebp - 0x29b], al
movzx ecx, byte [ebp - 0x29b]
test ecx, ecx
je 0x1022856d
mov edx, dword [ebp - 0x320]
mov eax, dword [ebp - 0x44c]
cmp eax, dword [edx + 0xc]
jbe 0x10228597
mov dword [ebp - 0x458], 0
mov ecx, dword [ebp - 0x204]
or ecx, 0x10
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x458]
mov dword [ebp - 0x1470], edx
jmp 0x102286f0
mov eax, dword [ebp - 0xa74]
mov dword [ebp - 0xa78], eax
mov ecx, dword [ebp - 0xa78]
mov dword [ebp - 0xa84], ecx
mov edx, dword [ebp - 0x320]
add edx, 8
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0xa7c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x44c]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xa80], eax
mov ecx, dword [ebp - 0xa80]
mov edx, dword [ebp - 0xa84]
mov dword [ecx], edx
mov eax, 0x13
shl eax, 2
mov ecx, dword [ebp - 0x320]
add eax, dword [ecx + 4]
mov dword [ebp - 0x450], eax
mov edx, dword [ebp - 0x450]
cmp dword [edx], 0
je 0x10228654
mov eax, dword [ebp - 0x450]
mov ecx, dword [eax]
mov dword [ebp - 0xa88], ecx
mov edx, dword [ebp - 0xa88]
mov dword [ebp - 0xa8c], edx
lea eax, [ebp - 0xa8c]
mov dword [ebp - 0xa90], eax
mov ecx, dword [ebp - 0xa90]
mov dword [ebp - 0xa94], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x20
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0xa94]
mov dword [ebp - 0x454], eax
jmp 0x10228691
mov dword [ebp - 0xa98], 0
lea ecx, [ebp - 0xa98]
mov dword [ebp - 0xa9c], ecx
mov edx, dword [ebp - 0xa9c]
mov dword [ebp - 0xaa0], edx
mov eax, dword [ebp - 0x204]
or eax, 0x40
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xaa0]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0xaa4], edx
mov eax, dword [ebp - 0xaa4]
mov ecx, dword [eax]
mov dword [ebp - 0x458], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x80
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x40
je 0x102286cf
and dword [ebp - 0x204], 0xffffffbf
mov ecx, dword [ebp - 0x204]
and ecx, 0x20
je 0x102286e1
and dword [ebp - 0x204], 0xffffffdf
mov edx, dword [ebp - 0x204]
or edx, 0x10
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x210]
add eax, 0x14
mov dword [ebp - 0x234], eax
mov ecx, dword [0x108a2a20]
mov dword [ebp - 0xaa8], ecx
lea edx, [ebp - 0x2e4]
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
mov ecx, dword [ebp - 0xaa8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0xaac], edx
mov eax, dword [ebp - 0xaac]
mov dword [ebp - 0x1434], eax
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x2e4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [eax]
mov dword [ebp - 0xab0], ecx
mov edx, dword [ebp - 0xab0]
mov eax, dword [ebp - 0x234]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x234]
cmp dword [ecx + 4], 0
jne 0x10228787
mov dword [ebp - 4], 0xffffffff
jmp 0x10228a46
mov dword [ebp - 0x3a0], 0
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x3a0]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xab4], edx
mov eax, dword [ebp - 0xab4]
mov dword [ebp - 0x460], eax
cmp dword [ebp - 0x460], 0
jne 0x102287c7
mov byte [ebp - 0x214], 0
jmp 0x1022881f
mov ecx, dword [0x105621b4]
mov dword [ebp - 0xab8], ecx
push 0x1c
lea edx, [ebp - 0x174]
push edx
mov eax, dword [ebp - 0x460]
push eax
call dword [ebp - 0xab8]
test eax, eax
jne 0x102287f6
mov byte [ebp - 0x214], 0
jmp 0x1022881f
mov ecx, dword [ebp - 0x160]
and ecx, 1
jne 0x1022880f
mov edx, dword [ebp - 0x160]
and edx, 0x100
je 0x10228818
mov byte [ebp - 0x214], 0
jmp 0x1022881f
mov byte [ebp - 0x214], 1
movzx eax, byte [ebp - 0x214]
test eax, eax
je 0x1022883e
mov ecx, dword [ebp - 0x3a0]
add ecx, 1
mov dword [ebp - 0x3a0], ecx
jmp 0x10228791
mov edx, dword [ebp - 0x3a0]
mov dword [ebp - 0xabc], edx
mov eax, dword [ebp - 0xabc]
mov ecx, dword [ebp - 0x234]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x234]
cmp dword [edx + 0xc], 0
jne 0x10228871
mov dword [ebp - 4], 0xffffffff
jmp 0x10228a46
mov eax, 1
test eax, eax
je 0x1022888e
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x464], edx
jmp 0x1022889d
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x464], ecx
mov edx, dword [ebp - 0x464]
push edx
lea eax, [ebp - 0xac4]
push eax
call fcn.1007de00
add esp, 8
mov dword [ebp - 0xac0], eax
mov ecx, dword [ebp - 0xac0]
push ecx
mov ecx, dword [ebp - 0x234]
add ecx, 8
call fcn.1007df00
lea ecx, [ebp - 0xac4]
call fcn.10079e50
mov edx, dword [ebp - 0x234]
cmp dword [edx + 8], 0
je 0x102288ee
mov byte [ebp - 0x266], 1
jmp 0x102288f5
mov byte [ebp - 0x266], 0
mov al, byte [ebp - 0x266]
mov byte [ebp - 0x2a2], al
movzx ecx, byte [ebp - 0x2a2]
test ecx, ecx
jne 0x10228918
mov dword [ebp - 4], 0xffffffff
jmp 0x10228a46
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 8]
mov dword [ebp - 0xac8], eax
mov ecx, dword [ebp - 0xac8]
mov dword [ebp - 0x30], ecx
mov edx, 1
test edx, edx
je 0x102289d5
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
mov dword [ebp - 0xad0], edx
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 4]
sub ecx, 4
mov dword [ebp - 0xad4], ecx
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0xacc], edx
mov eax, dword [ebp - 0xacc]
mov dword [ebp - 0xad8], eax
mov ecx, dword [ebp - 0xad0]
push ecx
mov edx, dword [ebp - 0xad4]
push edx
mov eax, dword [ebp - 0xad8]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xadc], ecx
mov edx, dword [ebp - 0xadc]
add edx, 4
mov dword [ebp - 0xae0], edx
cmp dword [ebp - 0x2e4], 0
jne 0x102289bb
jmp 0x102289c9
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [ebp - 0xae0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x234]
mov byte [edx + 0x10], 1
jmp 0x10228a3f
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0xc]
shl ecx, 2
mov dword [ebp - 0xae8], ecx
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 4]
mov dword [ebp - 0xaec], eax
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0xae4], ecx
mov edx, dword [ebp - 0xae4]
mov dword [ebp - 0xaf0], edx
mov eax, dword [ebp - 0xae8]
push eax
mov ecx, dword [ebp - 0xaec]
push ecx
mov edx, dword [ebp - 0xaf0]
push edx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x2e4], 0
jne 0x10228a34
jmp 0x10228a3f
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2e4]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x210]
add edx, 0x14
mov dword [ebp - 0x324], edx
mov dword [ebp - 0xaf4], 0x10261b50
mov eax, dword [ebp - 0xaf4]
mov dword [ebp - 0xaf8], eax
mov ecx, dword [ebp - 0x324]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10228a89
mov eax, 0x11
add eax, 1
mov dword [ebp - 0x468], eax
jmp 0x10228a93
mov dword [ebp - 0x468], 0x11
mov ecx, dword [ebp - 0x468]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x324]
cmp dword [edx + 4], 0
je 0x10228aef
mov eax, dword [ebp - 0x324]
cmp dword [eax + 8], 0
je 0x10228ac0
mov byte [ebp - 0x267], 1
jmp 0x10228ac7
mov byte [ebp - 0x267], 0
mov cl, byte [ebp - 0x267]
mov byte [ebp - 0x2a1], cl
movzx edx, byte [ebp - 0x2a1]
test edx, edx
je 0x10228aef
mov eax, dword [ebp - 0x324]
mov ecx, dword [ebp - 0x46c]
cmp ecx, dword [eax + 0xc]
jbe 0x10228b1c
mov dword [ebp - 0x478], 0
mov edx, dword [ebp - 0x204]
or edx, 0x100
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x478]
mov dword [ebp - 0x1438], eax
jmp 0x10228c87
mov ecx, dword [ebp - 0xaf8]
mov dword [ebp - 0xafc], ecx
mov edx, dword [ebp - 0xafc]
mov dword [ebp - 0xb08], edx
mov eax, dword [ebp - 0x324]
add eax, 8
mov dword [ebp - 0xb00], eax
mov ecx, dword [ebp - 0xb00]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x46c]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xb04], ecx
mov edx, dword [ebp - 0xb04]
mov eax, dword [ebp - 0xb08]
mov dword [edx], eax
mov ecx, 0x11
shl ecx, 2
mov edx, dword [ebp - 0x324]
add ecx, dword [edx + 4]
mov dword [ebp - 0x470], ecx
mov eax, dword [ebp - 0x470]
cmp dword [eax], 0
je 0x10228bdb
mov ecx, dword [ebp - 0x470]
mov edx, dword [ecx]
mov dword [ebp - 0xb0c], edx
mov eax, dword [ebp - 0xb0c]
mov dword [ebp - 0xb10], eax
lea ecx, [ebp - 0xb10]
mov dword [ebp - 0xb14], ecx
mov edx, dword [ebp - 0xb14]
mov dword [ebp - 0xb18], edx
mov eax, dword [ebp - 0x204]
or eax, 0x200
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xb18]
mov dword [ebp - 0x474], ecx
jmp 0x10228c1b
mov dword [ebp - 0xb1c], 0
lea edx, [ebp - 0xb1c]
mov dword [ebp - 0xb20], edx
mov eax, dword [ebp - 0xb20]
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0x204]
or ecx, 0x400
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0xb24]
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0xb28], eax
mov ecx, dword [ebp - 0xb28]
mov edx, dword [ecx]
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x204]
or eax, 0x800
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
and ecx, 0x400
je 0x10228c5e
and dword [ebp - 0x204], 0xfffffbff
mov edx, dword [ebp - 0x204]
and edx, 0x200
je 0x10228c76
and dword [ebp - 0x204], 0xfffffdff
mov eax, dword [ebp - 0x204]
or eax, 0x100
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x210]
add ecx, 0x14
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0xb2c], 0x10261a20
mov edx, dword [ebp - 0xb2c]
mov dword [ebp - 0xb30], edx
mov eax, dword [ebp - 0x328]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10228cca
mov edx, 0x12
add edx, 1
mov dword [ebp - 0x47c], edx
jmp 0x10228cd4
mov dword [ebp - 0x47c], 0x12
mov eax, dword [ebp - 0x47c]
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x328]
cmp dword [ecx + 4], 0
je 0x10228d30
mov edx, dword [ebp - 0x328]
cmp dword [edx + 8], 0
je 0x10228d01
mov byte [ebp - 0x268], 1
jmp 0x10228d08
mov byte [ebp - 0x268], 0
mov al, byte [ebp - 0x268]
mov byte [ebp - 0x2a0], al
movzx ecx, byte [ebp - 0x2a0]
test ecx, ecx
je 0x10228d30
mov edx, dword [ebp - 0x328]
mov eax, dword [ebp - 0x480]
cmp eax, dword [edx + 0xc]
jbe 0x10228d5d
mov dword [ebp - 0x48c], 0
mov ecx, dword [ebp - 0x204]
or ecx, 0x1000
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x48c]
mov dword [ebp - 0x137c], edx
jmp 0x10228ec9
mov eax, dword [ebp - 0xb30]
mov dword [ebp - 0xb34], eax
mov ecx, dword [ebp - 0xb34]
mov dword [ebp - 0xb40], ecx
mov edx, dword [ebp - 0x328]
add edx, 8
mov dword [ebp - 0xb38], edx
mov eax, dword [ebp - 0xb38]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x480]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xb3c], eax
mov ecx, dword [ebp - 0xb3c]
mov edx, dword [ebp - 0xb40]
mov dword [ecx], edx
mov eax, 0x12
shl eax, 2
mov ecx, dword [ebp - 0x328]
add eax, dword [ecx + 4]
mov dword [ebp - 0x484], eax
mov edx, dword [ebp - 0x484]
cmp dword [edx], 0
je 0x10228e1d
mov eax, dword [ebp - 0x484]
mov ecx, dword [eax]
mov dword [ebp - 0xb44], ecx
mov edx, dword [ebp - 0xb44]
mov dword [ebp - 0xb48], edx
lea eax, [ebp - 0xb48]
mov dword [ebp - 0xb4c], eax
mov ecx, dword [ebp - 0xb4c]
mov dword [ebp - 0xb50], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x2000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0xb50]
mov dword [ebp - 0x488], eax
jmp 0x10228e5c
mov dword [ebp - 0xb54], 0
lea ecx, [ebp - 0xb54]
mov dword [ebp - 0xb58], ecx
mov edx, dword [ebp - 0xb58]
mov dword [ebp - 0xb5c], edx
mov eax, dword [ebp - 0x204]
or eax, 0x4000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xb5c]
mov dword [ebp - 0x488], ecx
mov edx, dword [ebp - 0x488]
mov dword [ebp - 0xb60], edx
mov eax, dword [ebp - 0xb60]
mov ecx, dword [eax]
mov dword [ebp - 0x48c], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x8000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x4000
je 0x10228e9f
and dword [ebp - 0x204], 0xffffbfff
mov ecx, dword [ebp - 0x204]
and ecx, 0x2000
je 0x10228eb7
and dword [ebp - 0x204], 0xffffdfff
mov edx, dword [ebp - 0x204]
or edx, 0x1000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x210]
add eax, 0x14
mov dword [ebp - 0x32c], eax
mov dword [ebp - 0xb64], 0x10261dd0
mov ecx, dword [ebp - 0xb64]
mov dword [ebp - 0xb68], ecx
mov edx, dword [ebp - 0x32c]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10228f0c
mov ecx, 0x18
add ecx, 1
mov dword [ebp - 0x490], ecx
jmp 0x10228f16
mov dword [ebp - 0x490], 0x18
mov edx, dword [ebp - 0x490]
mov dword [ebp - 0x494], edx
mov eax, dword [ebp - 0x32c]
cmp dword [eax + 4], 0
je 0x10228f72
mov ecx, dword [ebp - 0x32c]
cmp dword [ecx + 8], 0
je 0x10228f43
mov byte [ebp - 0x269], 1
jmp 0x10228f4a
mov byte [ebp - 0x269], 0
mov dl, byte [ebp - 0x269]
mov byte [ebp - 0x29f], dl
movzx eax, byte [ebp - 0x29f]
test eax, eax
je 0x10228f72
mov ecx, dword [ebp - 0x32c]
mov edx, dword [ebp - 0x494]
cmp edx, dword [ecx + 0xc]
jbe 0x10228f9e
mov dword [ebp - 0x4a0], 0
mov eax, dword [ebp - 0x204]
or eax, 0x10000
mov dword [ebp - 0x204], eax
lea ecx, [ebp - 0x4a0]
mov dword [ebp - 0x1380], ecx
jmp 0x1022910b
mov edx, dword [ebp - 0xb68]
mov dword [ebp - 0xb6c], edx
mov eax, dword [ebp - 0xb6c]
mov dword [ebp - 0xb78], eax
mov ecx, dword [ebp - 0x32c]
add ecx, 8
mov dword [ebp - 0xb70], ecx
mov edx, dword [ebp - 0xb70]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x494]
lea edx, [eax + ecx*4]
mov dword [ebp - 0xb74], edx
mov eax, dword [ebp - 0xb74]
mov ecx, dword [ebp - 0xb78]
mov dword [eax], ecx
mov edx, 0x18
shl edx, 2
mov eax, dword [ebp - 0x32c]
add edx, dword [eax + 4]
mov dword [ebp - 0x498], edx
mov ecx, dword [ebp - 0x498]
cmp dword [ecx], 0
je 0x1022905e
mov edx, dword [ebp - 0x498]
mov eax, dword [edx]
mov dword [ebp - 0xb7c], eax
mov ecx, dword [ebp - 0xb7c]
mov dword [ebp - 0xb80], ecx
lea edx, [ebp - 0xb80]
mov dword [ebp - 0xb84], edx
mov eax, dword [ebp - 0xb84]
mov dword [ebp - 0xb88], eax
mov ecx, dword [ebp - 0x204]
or ecx, 0x20000
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0xb88]
mov dword [ebp - 0x49c], edx
jmp 0x1022909e
mov dword [ebp - 0xb8c], 0
lea eax, [ebp - 0xb8c]
mov dword [ebp - 0xb90], eax
mov ecx, dword [ebp - 0xb90]
mov dword [ebp - 0xb94], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x40000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0xb94]
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x49c]
mov dword [ebp - 0xb98], ecx
mov edx, dword [ebp - 0xb98]
mov eax, dword [edx]
mov dword [ebp - 0x4a0], eax
mov ecx, dword [ebp - 0x204]
or ecx, 0x80000
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x204]
and edx, 0x40000
je 0x102290e2
and dword [ebp - 0x204], 0xfffbffff
mov eax, dword [ebp - 0x204]
and eax, 0x20000
je 0x102290f9
and dword [ebp - 0x204], 0xfffdffff
mov ecx, dword [ebp - 0x204]
or ecx, 0x10000
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x210]
add edx, 0x14
mov dword [ebp - 0x330], edx
mov dword [ebp - 0xb9c], 0x102620f0
mov eax, dword [ebp - 0xb9c]
mov dword [ebp - 0xba0], eax
mov ecx, dword [ebp - 0x330]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1022914e
mov eax, 0x2c
add eax, 1
mov dword [ebp - 0x4a4], eax
jmp 0x10229158
mov dword [ebp - 0x4a4], 0x2c
mov ecx, dword [ebp - 0x4a4]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x330]
cmp dword [edx + 4], 0
je 0x102291b4
mov eax, dword [ebp - 0x330]
cmp dword [eax + 8], 0
je 0x10229185
mov byte [ebp - 0x26a], 1
jmp 0x1022918c
mov byte [ebp - 0x26a], 0
mov cl, byte [ebp - 0x26a]
mov byte [ebp - 0x29e], cl
movzx edx, byte [ebp - 0x29e]
test edx, edx
je 0x102291b4
mov eax, dword [ebp - 0x330]
mov ecx, dword [ebp - 0x4a8]
cmp ecx, dword [eax + 0xc]
jbe 0x102291e1
mov dword [ebp - 0x4b4], 0
mov edx, dword [ebp - 0x204]
or edx, 0x100000
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x4b4]
mov dword [ebp - 0x1384], eax
jmp 0x1022934c
mov ecx, dword [ebp - 0xba0]
mov dword [ebp - 0xba4], ecx
mov edx, dword [ebp - 0xba4]
mov dword [ebp - 0xbb0], edx
mov eax, dword [ebp - 0x330]
add eax, 8
mov dword [ebp - 0xba8], eax
mov ecx, dword [ebp - 0xba8]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4a8]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xbac], ecx
mov edx, dword [ebp - 0xbac]
mov eax, dword [ebp - 0xbb0]
mov dword [edx], eax
mov ecx, 0x2c
shl ecx, 2
mov edx, dword [ebp - 0x330]
add ecx, dword [edx + 4]
mov dword [ebp - 0x4ac], ecx
mov eax, dword [ebp - 0x4ac]
cmp dword [eax], 0
je 0x102292a0
mov ecx, dword [ebp - 0x4ac]
mov edx, dword [ecx]
mov dword [ebp - 0xbb4], edx
mov eax, dword [ebp - 0xbb4]
mov dword [ebp - 0xbb8], eax
lea ecx, [ebp - 0xbb8]
mov dword [ebp - 0xbbc], ecx
mov edx, dword [ebp - 0xbbc]
mov dword [ebp - 0xbc0], edx
mov eax, dword [ebp - 0x204]
or eax, 0x200000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xbc0]
mov dword [ebp - 0x4b0], ecx
jmp 0x102292e0
mov dword [ebp - 0xbc4], 0
lea edx, [ebp - 0xbc4]
mov dword [ebp - 0xbc8], edx
mov eax, dword [ebp - 0xbc8]
mov dword [ebp - 0xbcc], eax
mov ecx, dword [ebp - 0x204]
or ecx, 0x400000
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0xbcc]
mov dword [ebp - 0x4b0], edx
mov eax, dword [ebp - 0x4b0]
mov dword [ebp - 0xbd0], eax
mov ecx, dword [ebp - 0xbd0]
mov edx, dword [ecx]
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x204]
or eax, 0x800000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
and ecx, 0x400000
je 0x10229323
and dword [ebp - 0x204], 0xffbfffff
mov edx, dword [ebp - 0x204]
and edx, 0x200000
je 0x1022933b
and dword [ebp - 0x204], 0xffdfffff
mov eax, dword [ebp - 0x204]
or eax, 0x100000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x210]
add ecx, 0x8c
mov dword [ebp - 0x230], ecx
mov edx, dword [0x108a29d0]
mov dword [ebp - 0xbd4], edx
lea eax, [ebp - 0x334]
mov dword [ebp - 0x4b8], eax
mov ecx, dword [ebp - 0x4b8]
mov edx, dword [ebp - 0xbd4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4b8]
mov dword [ebp - 0xbd8], eax
mov ecx, dword [ebp - 0xbd8]
mov dword [ebp - 0x1388], ecx
mov dword [ebp - 4], 5
mov edx, dword [ebp - 0x230]
mov eax, dword [ebp - 0x334]
mov dword [edx], eax
mov ecx, dword [ebp - 0x334]
mov edx, dword [ecx]
mov dword [ebp - 0xbdc], edx
mov eax, dword [ebp - 0xbdc]
mov ecx, dword [ebp - 0x230]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x230]
cmp dword [edx + 4], 0
jne 0x102293e6
mov dword [ebp - 4], 0xffffffff
jmp 0x102296a4
mov dword [ebp - 0x370], 0
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x370]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xbe0], eax
mov ecx, dword [ebp - 0xbe0]
mov dword [ebp - 0x4bc], ecx
cmp dword [ebp - 0x4bc], 0
jne 0x10229426
mov byte [ebp - 0x215], 0
jmp 0x1022947d
mov edx, dword [0x105621b4]
mov dword [ebp - 0xbe4], edx
push 0x1c
lea eax, [ebp - 0x158]
push eax
mov ecx, dword [ebp - 0x4bc]
push ecx
call dword [ebp - 0xbe4]
test eax, eax
jne 0x10229455
mov byte [ebp - 0x215], 0
jmp 0x1022947d
mov edx, dword [ebp - 0x144]
and edx, 1
jne 0x1022946d
mov eax, dword [ebp - 0x144]
and eax, 0x100
je 0x10229476
mov byte [ebp - 0x215], 0
jmp 0x1022947d
mov byte [ebp - 0x215], 1
movzx ecx, byte [ebp - 0x215]
test ecx, ecx
je 0x1022949c
mov edx, dword [ebp - 0x370]
add edx, 1
mov dword [ebp - 0x370], edx
jmp 0x102293f0
mov eax, dword [ebp - 0x370]
mov dword [ebp - 0xbe8], eax
mov ecx, dword [ebp - 0xbe8]
mov edx, dword [ebp - 0x230]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x230]
cmp dword [eax + 0xc], 0
jne 0x102294cf
mov dword [ebp - 4], 0xffffffff
jmp 0x102296a4
mov ecx, 1
test ecx, ecx
je 0x102294ec
mov edx, dword [ebp - 0x230]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x4c0], eax
jmp 0x102294fb
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4c0], edx
mov eax, dword [ebp - 0x4c0]
push eax
lea ecx, [ebp - 0xbf0]
push ecx
call fcn.1007de00
add esp, 8
mov dword [ebp - 0xbec], eax
mov edx, dword [ebp - 0xbec]
push edx
mov ecx, dword [ebp - 0x230]
add ecx, 8
call fcn.1007df00
lea ecx, [ebp - 0xbf0]
call fcn.10079e50
mov eax, dword [ebp - 0x230]
cmp dword [eax + 8], 0
je 0x1022954c
mov byte [ebp - 0x26b], 1
jmp 0x10229553
mov byte [ebp - 0x26b], 0
mov cl, byte [ebp - 0x26b]
mov byte [ebp - 0x29d], cl
movzx edx, byte [ebp - 0x29d]
test edx, edx
jne 0x10229576
mov dword [ebp - 4], 0xffffffff
jmp 0x102296a4
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xbf4], ecx
mov edx, dword [ebp - 0xbf4]
mov dword [ebp - 0x18], edx
mov eax, 1
test eax, eax
je 0x10229633
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0xc]
lea eax, [edx*4 + 4]
mov dword [ebp - 0xbfc], eax
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 4]
sub edx, 4
mov dword [ebp - 0xc00], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xbf8], eax
mov ecx, dword [ebp - 0xbf8]
mov dword [ebp - 0xc04], ecx
mov edx, dword [ebp - 0xbfc]
push edx
mov eax, dword [ebp - 0xc00]
push eax
mov ecx, dword [ebp - 0xc04]
push ecx
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0xc08], edx
mov eax, dword [ebp - 0xc08]
add eax, 4
mov dword [ebp - 0xc0c], eax
cmp dword [ebp - 0x334], 0
jne 0x10229619
jmp 0x10229627
mov ecx, dword [ebp - 0x334]
mov edx, dword [ebp - 0xc0c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x230]
mov byte [eax + 0x10], 1
jmp 0x1022969d
mov ecx, dword [ebp - 0x230]
mov edx, dword [ecx + 0xc]
shl edx, 2
mov dword [ebp - 0xc14], edx
mov eax, dword [ebp - 0x230]
mov ecx, dword [eax + 4]
mov dword [ebp - 0xc18], ecx
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0xc10], edx
mov eax, dword [ebp - 0xc10]
mov dword [ebp - 0xc1c], eax
mov ecx, dword [ebp - 0xc14]
push ecx
mov edx, dword [ebp - 0xc18]
push edx
mov eax, dword [ebp - 0xc1c]
push eax
call dword [sym.imp.VCRUNTIME140D.dll_memcpy]
add esp, 0xc
cmp dword [ebp - 0x334], 0
jne 0x10229692
jmp 0x1022969d
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x334]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x210]
add eax, 0x8c
mov dword [ebp - 0x338], eax
mov dword [ebp - 0xc20], 0x1024ede0
mov ecx, dword [ebp - 0xc20]
mov dword [ebp - 0xc24], ecx
mov edx, dword [ebp - 0x338]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x102296e9
mov ecx, 0x43
add ecx, 1
mov dword [ebp - 0x4c4], ecx
jmp 0x102296f3
mov dword [ebp - 0x4c4], 0x43
mov edx, dword [ebp - 0x4c4]
mov dword [ebp - 0x4c8], edx
mov eax, dword [ebp - 0x338]
cmp dword [eax + 4], 0
je 0x1022974f
mov ecx, dword [ebp - 0x338]
cmp dword [ecx + 8], 0
je 0x10229720
mov byte [ebp - 0x26c], 1
jmp 0x10229727
mov byte [ebp - 0x26c], 0
mov dl, byte [ebp - 0x26c]
mov byte [ebp - 0x29c], dl
movzx eax, byte [ebp - 0x29c]
test eax, eax
je 0x1022974f
mov ecx, dword [ebp - 0x338]
mov edx, dword [ebp - 0x4c8]
cmp edx, dword [ecx + 0xc]
jbe 0x1022977b
mov dword [ebp - 0x4d4], 0
mov eax, dword [ebp - 0x204]
or eax, 0x1000000
mov dword [ebp - 0x204], eax
lea ecx, [ebp - 0x4d4]
mov dword [ebp - 0x138c], ecx
jmp 0x102298e8
mov edx, dword [ebp - 0xc24]
mov dword [ebp - 0xc28], edx
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xc34], eax
mov ecx, dword [ebp - 0x338]
add ecx, 8
mov dword [ebp - 0xc2c], ecx
mov edx, dword [ebp - 0xc2c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4c8]
lea edx, [eax + ecx*4]
mov dword [ebp - 0xc30], edx
mov eax, dword [ebp - 0xc30]
mov ecx, dword [ebp - 0xc34]
mov dword [eax], ecx
mov edx, 0x43
shl edx, 2
mov eax, dword [ebp - 0x338]
add edx, dword [eax + 4]
mov dword [ebp - 0x4cc], edx
mov ecx, dword [ebp - 0x4cc]
cmp dword [ecx], 0
je 0x1022983b
mov edx, dword [ebp - 0x4cc]
mov eax, dword [edx]
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
lea edx, [ebp - 0xc3c]
mov dword [ebp - 0xc40], edx
mov eax, dword [ebp - 0xc40]
mov dword [ebp - 0xc44], eax
mov ecx, dword [ebp - 0x204]
or ecx, 0x2000000
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0xc44]
mov dword [ebp - 0x4d0], edx
jmp 0x1022987b
mov dword [ebp - 0xc48], 0
lea eax, [ebp - 0xc48]
mov dword [ebp - 0xc4c], eax
mov ecx, dword [ebp - 0xc4c]
mov dword [ebp - 0xc50], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x4000000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0xc50]
mov dword [ebp - 0x4d0], eax
mov ecx, dword [ebp - 0x4d0]
mov dword [ebp - 0xc54], ecx
mov edx, dword [ebp - 0xc54]
mov eax, dword [edx]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x204]
or ecx, 0x8000000
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x204]
and edx, 0x4000000
je 0x102298bf
and dword [ebp - 0x204], 0xfbffffff
mov eax, dword [ebp - 0x204]
and eax, 0x2000000
je 0x102298d6
and dword [ebp - 0x204], 0xfdffffff
mov ecx, dword [ebp - 0x204]
or ecx, 0x1000000
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0x210]
add edx, 0x8c
mov dword [ebp - 0x33c], edx
mov dword [ebp - 0xc58], 0x1024ed80
mov eax, dword [ebp - 0xc58]
mov dword [ebp - 0xc5c], eax
mov ecx, dword [ebp - 0x33c]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1022992e
mov eax, 0x52
add eax, 1
mov dword [ebp - 0x4d8], eax
jmp 0x10229938
mov dword [ebp - 0x4d8], 0x52
mov ecx, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], ecx
mov edx, dword [ebp - 0x33c]
cmp dword [edx + 4], 0
je 0x10229994
mov eax, dword [ebp - 0x33c]
cmp dword [eax + 8], 0
je 0x10229965
mov byte [ebp - 0x26d], 1
jmp 0x1022996c
mov byte [ebp - 0x26d], 0
mov cl, byte [ebp - 0x26d]
mov byte [ebp - 0x299], cl
movzx edx, byte [ebp - 0x299]
test edx, edx
je 0x10229994
mov eax, dword [ebp - 0x33c]
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [eax + 0xc]
jbe 0x102299c1
mov dword [ebp - 0x4e8], 0
mov edx, dword [ebp - 0x204]
or edx, 0x10000000
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x4e8]
mov dword [ebp - 0x1390], eax
jmp 0x10229b2c
mov ecx, dword [ebp - 0xc5c]
mov dword [ebp - 0xc60], ecx
mov edx, dword [ebp - 0xc60]
mov dword [ebp - 0xc6c], edx
mov eax, dword [ebp - 0x33c]
add eax, 8
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0xc64]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x4dc]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xc68], ecx
mov edx, dword [ebp - 0xc68]
mov eax, dword [ebp - 0xc6c]
mov dword [edx], eax
mov ecx, 0x52
shl ecx, 2
mov edx, dword [ebp - 0x33c]
add ecx, dword [edx + 4]
mov dword [ebp - 0x4e0], ecx
mov eax, dword [ebp - 0x4e0]
cmp dword [eax], 0
je 0x10229a80
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [ecx]
mov dword [ebp - 0xc70], edx
mov eax, dword [ebp - 0xc70]
mov dword [ebp - 0xc74], eax
lea ecx, [ebp - 0xc74]
mov dword [ebp - 0xc78], ecx
mov edx, dword [ebp - 0xc78]
mov dword [ebp - 0xc7c], edx
mov eax, dword [ebp - 0x204]
or eax, 0x20000000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xc7c]
mov dword [ebp - 0x4e4], ecx
jmp 0x10229ac0
mov dword [ebp - 0xc80], 0
lea edx, [ebp - 0xc80]
mov dword [ebp - 0xc84], edx
mov eax, dword [ebp - 0xc84]
mov dword [ebp - 0xc88], eax
mov ecx, dword [ebp - 0x204]
or ecx, 0x40000000
mov dword [ebp - 0x204], ecx
mov edx, dword [ebp - 0xc88]
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e4]
mov dword [ebp - 0xc8c], eax
mov ecx, dword [ebp - 0xc8c]
mov edx, dword [ecx]
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x204]
or eax, 0x80000000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x204]
and ecx, 0x40000000
je 0x10229b03
and dword [ebp - 0x204], 0xbfffffff
mov edx, dword [ebp - 0x204]
and edx, 0x20000000
je 0x10229b1b
and dword [ebp - 0x204], 0xdfffffff
mov eax, dword [ebp - 0x204]
or eax, 0x10000000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x210]
add ecx, 0x8c
mov dword [ebp - 0x340], ecx
mov dword [ebp - 0xc90], 0x1024ed10
mov edx, dword [ebp - 0xc90]
mov dword [ebp - 0xc94], edx
mov eax, dword [ebp - 0x340]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x10229b72
mov edx, 0x74
add edx, 1
mov dword [ebp - 0x4ec], edx
jmp 0x10229b7c
mov dword [ebp - 0x4ec], 0x74
mov eax, dword [ebp - 0x4ec]
mov dword [ebp - 0x4f0], eax
mov ecx, dword [ebp - 0x340]
cmp dword [ecx + 4], 0
je 0x10229bd8
mov edx, dword [ebp - 0x340]
cmp dword [edx + 8], 0
je 0x10229ba9
mov byte [ebp - 0x26e], 1
jmp 0x10229bb0
mov byte [ebp - 0x26e], 0
mov al, byte [ebp - 0x26e]
mov byte [ebp - 0x298], al
movzx ecx, byte [ebp - 0x298]
test ecx, ecx
je 0x10229bd8
mov edx, dword [ebp - 0x340]
mov eax, dword [ebp - 0x4f0]
cmp eax, dword [edx + 0xc]
jbe 0x10229c02
mov dword [ebp - 0x4fc], 0
mov ecx, dword [ebp - 0x208]
or ecx, 1
mov dword [ebp - 0x208], ecx
lea edx, [ebp - 0x4fc]
mov dword [ebp - 0x1394], edx
jmp 0x10229d58
mov eax, dword [ebp - 0xc94]
mov dword [ebp - 0xc98], eax
mov ecx, dword [ebp - 0xc98]
mov dword [ebp - 0xca4], ecx
mov edx, dword [ebp - 0x340]
add edx, 8
mov dword [ebp - 0xc9c], edx
mov eax, dword [ebp - 0xc9c]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4f0]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xca0], eax
mov ecx, dword [ebp - 0xca0]
mov edx, dword [ebp - 0xca4]
mov dword [ecx], edx
mov eax, 0x74
shl eax, 2
mov ecx, dword [ebp - 0x340]
add eax, dword [ecx + 4]
mov dword [ebp - 0x4f4], eax
mov edx, dword [ebp - 0x4f4]
cmp dword [edx], 0
je 0x10229cbf
mov eax, dword [ebp - 0x4f4]
mov ecx, dword [eax]
mov dword [ebp - 0xca8], ecx
mov edx, dword [ebp - 0xca8]
mov dword [ebp - 0xcac], edx
lea eax, [ebp - 0xcac]
mov dword [ebp - 0xcb0], eax
mov ecx, dword [ebp - 0xcb0]
mov dword [ebp - 0xcb4], ecx
mov edx, dword [ebp - 0x208]
or edx, 2
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0xcb4]
mov dword [ebp - 0x4f8], eax
jmp 0x10229cfc
mov dword [ebp - 0xcb8], 0
lea ecx, [ebp - 0xcb8]
mov dword [ebp - 0xcbc], ecx
mov edx, dword [ebp - 0xcbc]
mov dword [ebp - 0xcc0], edx
mov eax, dword [ebp - 0x208]
or eax, 4
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0xcc0]
mov dword [ebp - 0x4f8], ecx
mov edx, dword [ebp - 0x4f8]
mov dword [ebp - 0xcc4], edx
mov eax, dword [ebp - 0xcc4]
mov ecx, dword [eax]
mov dword [ebp - 0x4fc], ecx
mov edx, dword [ebp - 0x208]
or edx, 8
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
and eax, 4
je 0x10229d37
and dword [ebp - 0x208], 0xfffffffb
mov ecx, dword [ebp - 0x208]
and ecx, 2
je 0x10229d49
and dword [ebp - 0x208], 0xfffffffd
mov edx, dword [ebp - 0x208]
or edx, 1
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x210]
add eax, 0xf0
mov dword [ebp - 0x22c], eax
mov ecx, dword [0x108a29f0]
mov dword [ebp - 0xcc8], ecx
lea edx, [ebp - 0x344]
mov dword [ebp - 0x500], edx
mov eax, dword [ebp - 0x500]
mov ecx, dword [ebp - 0xcc8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x500]
mov dword [ebp - 0xccc], edx
mov eax, dword [ebp - 0xccc]
mov dword [ebp - 0x1398], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ebp - 0x344]
mov dword [ecx], edx
mov eax, dword [ebp - 0x344]
mov ecx, dword [eax]
mov dword [ebp - 0xcd0], ecx
mov edx, dword [ebp - 0xcd0]
mov eax, dword [ebp - 0x22c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x22c]
cmp dword [ecx + 4], 0
jne 0x10229df1
mov dword [ebp - 4], 0xffffffff
jmp 0x1022a0b0
mov dword [ebp - 0x378], 0
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x378]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xcd4], edx
mov eax, dword [ebp - 0xcd4]
mov dword [ebp - 0x504], eax
cmp dword [ebp - 0x504], 0
jne 0x10229e31
mov byte [ebp - 0x216], 0
jmp 0x10229e89
mov ecx, dword [0x105621b4]
mov dword [ebp - 0xcd8], ecx
push 0x1c
lea edx, [ebp - 0x13c]
push edx
mov eax, dword [ebp - 0x504]
push eax
call dword [ebp - 0xcd8]
test eax, eax
jne 0x10229e60
mov byte [ebp - 0x216], 0
jmp 0x10229e89
mov ecx, dword [ebp - 0x128]
and ecx, 1
jne 0x10229e79
mov edx, dword [ebp - 0x128]
and edx, 0x100
je 0x10229e82
mov byte [ebp - 0x216], 0
jmp 0x10229e89
mov byte [ebp - 0x216], 1
movzx eax, byte [ebp - 0x216]
test eax, eax
je 0x10229ea8
mov edx, dword [ebp - 0x210]
add edx, 0xf0
mov dword [ebp - 0x348], edx
mov dword [ebp - 0xd14], 0x10214680
mov eax, dword [ebp - 0xd14]
mov dword [ebp - 0xd18], eax
mov ecx, dword [ebp - 0x348]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1022a0f6
mov eax, 0x15
add eax, 1
mov dword [ebp - 0x50c], eax
jmp 0x1022a100
mov dword [ebp - 0x50c], 0x15
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x510], ecx
mov edx, dword [ebp - 0x348]
cmp dword [edx + 4], 0
je 0x1022a15c
mov eax, dword [ebp - 0x348]
cmp dword [eax + 8], 0
je 0x1022a12d
mov byte [ebp - 0x270], 1
jmp 0x1022a134
mov byte [ebp - 0x270], 0
mov cl, byte [ebp - 0x270]
mov byte [ebp - 0x296], cl
movzx edx, byte [ebp - 0x296]
test edx, edx
je 0x1022a15c
mov dword [ebp - 0x51c], 0
mov edx, dword [ebp - 0x208]
or edx, 0x10
mov dword [ebp - 0x208], edx
lea eax, [ebp - 0x51c]
mov dword [ebp - 0x139c], eax
jmp 0x1022a2de
mov ecx, dword [ebp - 0x210]
add ecx, 0xdc
mov dword [ebp - 0x244], ecx
mov edx, dword [0x108a29e8]
mov dword [ebp - 0xd4c], edx
lea eax, [ebp - 0x34c]
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x520]
mov edx, dword [ebp - 0xd4c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x520]
mov dword [ebp - 0xd50], eax
mov ecx, dword [ebp - 0xd50]
mov dword [ebp - 0x13a0], ecx
mov dword [ebp - 4], 7
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x34c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x34c]
mov edx, dword [ecx]
mov dword [ebp - 0xd54], edx
mov eax, dword [ebp - 0xd54]
mov ecx, dword [ebp - 0x244]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x244]
cmp dword [edx + 4], 0
jne 0x1022a378