Function at 0x100cda70
Capabilities:
Contain obfuscated stackstrings
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10132d7d
mov eax, dword fs:[0]
push eax
mov eax, 0x1630
call fcn.1012b480
mov eax, dword [0x10149040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x224], 0
mov dword [ebp - 0x228], 0
mov dword [ebp - 0x22c], 0
mov dword [ebp - 0x220], 0
call dword [sym.imp.KERNEL32.dll_AllocConsole]
push 1
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll___acrt_iob_func]
add esp, 4
push eax
push 0x1013d458
push str.CONOUT_
lea eax, [ebp - 0x21c]
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_freopen_s]
add esp, 0x10
mov ecx, dword [0x10149918]
mov dword [ebp - 0x133c], ecx
mov dword [ebp - 0xfa0], 0x10128d00
mov edx, dword [ebp - 0xfa0]
mov dword [ebp - 0x1330], edx
mov eax, dword [ebp - 0x1330]
mov dword [ebp - 0x1334], eax
mov ecx, dword [0x101b2bf0]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x1338], edx
mov eax, dword [ebp - 0x1334]
push eax
push 0xfffffffffffffffc
mov ecx, dword [ebp - 0x1338]
push ecx
call dword [ebp - 0x133c]
mov edx, dword [ebp - 0x230]
mov dword [edx + 0x714], eax
mov eax, dword [ebp - 0x230]
add eax, 0x84
mov dword [ebp - 0x248], eax
mov ecx, dword [0x101b2b84]
mov dword [ebp - 0x1340], ecx
lea edx, [ebp - 0x388]
mov dword [ebp - 0x654], edx
mov eax, dword [ebp - 0x654]
mov ecx, dword [ebp - 0x1340]
mov dword [eax], ecx
mov edx, dword [ebp - 0x654]
mov dword [ebp - 0x1344], edx
mov eax, dword [ebp - 0x1344]
mov dword [ebp - 0x13f4], eax
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0x388]
mov dword [ecx], edx
mov eax, dword [ebp - 0x388]
mov ecx, dword [eax]
mov dword [ebp - 0x1348], ecx
mov edx, dword [ebp - 0x1348]
mov eax, dword [ebp - 0x248]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x248]
cmp dword [ecx + 4], 0
jne 0x100cdbf1
mov dword [ebp - 4], 0xffffffff
jmp 0x100cde59
mov dword [ebp - 0x458], 0
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x458]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x134c], edx
mov eax, dword [ebp - 0x134c]
mov dword [ebp - 0x804], eax
cmp dword [ebp - 0x804], 0
jne 0x100cdc31
mov byte [ebp - 0x23e], 0
jmp 0x100cdc80
mov ecx, dword [0x10149914]
mov dword [ebp - 0x1350], ecx
push 0x1c
lea edx, [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x804]
push eax
call dword [ebp - 0x1350]
test eax, eax
jne 0x100cdc5d
mov byte [ebp - 0x23e], 0
jmp 0x100cdc80
mov ecx, dword [ebp - 0x60]
and ecx, 1
jne 0x100cdc70
mov edx, dword [ebp - 0x60]
and edx, 0x100
je 0x100cdc79
mov byte [ebp - 0x23e], 0
jmp 0x100cdc80
mov byte [ebp - 0x23e], 1
movzx eax, byte [ebp - 0x23e]
test eax, eax
je 0x100cdc9f
mov ecx, dword [ebp - 0x458]
add ecx, 1
mov dword [ebp - 0x458], ecx
jmp 0x100cdbfb
mov edx, dword [ebp - 0x458]
mov dword [ebp - 0x1354], edx
mov eax, dword [ebp - 0x1354]
mov ecx, dword [ebp - 0x248]
mov dword [ecx + 0xc], eax
mov edx, dword [ebp - 0x248]
cmp dword [edx + 0xc], 0
jne 0x100cdcd2
mov dword [ebp - 4], 0xffffffff
jmp 0x100cde59
mov eax, 1
test eax, eax
je 0x100cdcef
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx + 0xc]
add edx, 1
mov dword [ebp - 0x808], edx
jmp 0x100cdcfe
mov eax, dword [ebp - 0x248]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x808]
push edx
lea eax, [ebp - 0x135c]
push eax
call fcn.100d6e90
add esp, 8
mov dword [ebp - 0x1358], eax
mov ecx, dword [ebp - 0x1358]
push ecx
mov ecx, dword [ebp - 0x248]
add ecx, 8
call fcn.100d6f80
lea ecx, [ebp - 0x135c]
call fcn.100d67d0
mov edx, dword [ebp - 0x248]
cmp dword [edx + 8], 0
je 0x100cdd4f
mov byte [ebp - 0x281], 1
jmp 0x100cdd56
mov byte [ebp - 0x281], 0
mov al, byte [ebp - 0x281]
mov byte [ebp - 0x2b0], al
movzx ecx, byte [ebp - 0x2b0]
test ecx, ecx
jne 0x100cdd79
mov dword [ebp - 4], 0xffffffff
jmp 0x100cde59
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 8]
mov dword [ebp - 0x1360], eax
mov ecx, dword [ebp - 0x1360]
mov dword [ebp - 0x54], ecx
mov edx, 1
test edx, edx
je 0x100cde0d
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1364], eax
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx + 0xc]
lea eax, [edx*4 + 4]
push eax
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx + 4]
sub edx, 4
push edx
mov eax, dword [ebp - 0x1364]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x1368], ecx
mov edx, dword [ebp - 0x1368]
add edx, 4
mov dword [ebp - 0x136c], edx
cmp dword [ebp - 0x388], 0
jne 0x100cddf3
jmp 0x100cde01
mov eax, dword [ebp - 0x388]
mov ecx, dword [ebp - 0x136c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x248]
mov byte [edx + 0x10], 1
jmp 0x100cde52
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x1370], eax
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx + 0xc]
shl edx, 2
push edx
mov eax, dword [ebp - 0x248]
mov ecx, dword [eax + 4]
push ecx
mov edx, dword [ebp - 0x1370]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x388], 0
jne 0x100cde47
jmp 0x100cde52
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x388]
mov dword [ecx], eax
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x230]
add edx, 0x84
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x1374], 0x100ef170
mov eax, dword [ebp - 0x1374]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x3a8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100cde9f
mov eax, 0x29
add eax, 1
mov dword [ebp - 0x80c], eax
jmp 0x100cdea9
mov dword [ebp - 0x80c], 0x29
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x810], ecx
mov edx, dword [ebp - 0x3a8]
cmp dword [edx + 4], 0
je 0x100cdf05
mov eax, dword [ebp - 0x3a8]
cmp dword [eax + 8], 0
je 0x100cded6
mov byte [ebp - 0x282], 1
jmp 0x100cdedd
mov byte [ebp - 0x282], 0
mov cl, byte [ebp - 0x282]
mov byte [ebp - 0x2b1], cl
movzx edx, byte [ebp - 0x2b1]
test edx, edx
je 0x100cdf05
mov eax, dword [ebp - 0x3a8]
mov ecx, dword [ebp - 0x810]
cmp ecx, dword [eax + 0xc]
jbe 0x100cdf2f
mov dword [ebp - 0x81c], 0
mov edx, dword [ebp - 0x224]
or edx, 1
mov dword [ebp - 0x224], edx
lea eax, [ebp - 0x81c]
mov dword [ebp - 0x1428], eax
jmp 0x100ce085
mov ecx, dword [ebp - 0x850]
mov dword [ebp - 0x854], ecx
mov edx, dword [ebp - 0x854]
mov dword [ebp - 0x860], edx
mov eax, dword [ebp - 0x3a8]
add eax, 8
mov dword [ebp - 0x858], eax
mov ecx, dword [ebp - 0x858]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x810]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x85c], ecx
mov edx, dword [ebp - 0x85c]
mov eax, dword [ebp - 0x860]
mov dword [edx], eax
mov ecx, 0x29
shl ecx, 2
mov edx, dword [ebp - 0x3a8]
add ecx, dword [edx + 4]
mov dword [ebp - 0x814], ecx
mov eax, dword [ebp - 0x814]
cmp dword [eax], 0
je 0x100cdfec
mov ecx, dword [ebp - 0x814]
mov edx, dword [ecx]
mov dword [ebp - 0x864], edx
mov eax, dword [ebp - 0x864]
mov dword [ebp - 0x868], eax
lea ecx, [ebp - 0x868]
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x86c]
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x224]
or eax, 2
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x870]
mov dword [ebp - 0x818], ecx
jmp 0x100ce029
mov dword [ebp - 0x874], 0
lea edx, [ebp - 0x874]
mov dword [ebp - 0x878], edx
mov eax, dword [ebp - 0x878]
mov dword [ebp - 0x87c], eax
mov ecx, dword [ebp - 0x224]
or ecx, 4
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x818], edx
mov eax, dword [ebp - 0x818]
mov dword [ebp - 0x880], eax
mov ecx, dword [ebp - 0x880]
mov edx, dword [ecx]
mov dword [ebp - 0x81c], edx
mov eax, dword [ebp - 0x224]
or eax, 8
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
and ecx, 4
je 0x100ce064
and dword [ebp - 0x224], 0xfffffffb
mov edx, dword [ebp - 0x224]
and edx, 2
je 0x100ce076
and dword [ebp - 0x224], 0xfffffffd
mov eax, dword [ebp - 0x224]
or eax, 1
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0xac
mov dword [ebp - 0x24c], ecx
mov edx, dword [0x101b2b6c]
mov dword [ebp - 0x884], edx
lea eax, [ebp - 0x3ac]
mov dword [ebp - 0x820], eax
mov ecx, dword [ebp - 0x820]
mov edx, dword [ebp - 0x884]
mov dword [ecx], edx
mov eax, dword [ebp - 0x820]
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x888]
mov dword [ebp - 0x1430], ecx
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x3ac]
mov dword [edx], eax
mov ecx, dword [ebp - 0x3ac]
mov edx, dword [ecx]
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x24c]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x24c]
cmp dword [edx + 4], 0
jne 0x100ce11f
mov dword [ebp - 4], 0xffffffff
jmp 0x100ce389
mov dword [ebp - 0x474], 0
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x474]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x890], eax
mov ecx, dword [ebp - 0x890]
mov dword [ebp - 0x824], ecx
cmp dword [ebp - 0x824], 0
jne 0x100ce15f
mov byte [ebp - 0x23f], 0
jmp 0x100ce1b0
mov edx, dword [0x10149914]
mov dword [ebp - 0x894], edx
push 0x1c
lea eax, [ebp - 0x90]
push eax
mov ecx, dword [ebp - 0x824]
push ecx
call dword [ebp - 0x894]
test eax, eax
jne 0x100ce18e
mov byte [ebp - 0x23f], 0
jmp 0x100ce1b0
mov edx, dword [ebp - 0x7c]
and edx, 1
jne 0x100ce1a0
mov eax, dword [ebp - 0x7c]
and eax, 0x100
je 0x100ce1a9
mov byte [ebp - 0x23f], 0
jmp 0x100ce1b0
mov byte [ebp - 0x23f], 1
movzx ecx, byte [ebp - 0x23f]
test ecx, ecx
je 0x100ce1cf
mov edx, dword [ebp - 0x474]
add edx, 1
mov dword [ebp - 0x474], edx
jmp 0x100ce129
mov eax, dword [ebp - 0x474]
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x898]
mov edx, dword [ebp - 0x24c]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x24c]
cmp dword [eax + 0xc], 0
jne 0x100ce202
mov dword [ebp - 4], 0xffffffff
jmp 0x100ce389
mov ecx, 1
test ecx, ecx
je 0x100ce21f
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x828], eax
jmp 0x100ce22e
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x828], edx
mov eax, dword [ebp - 0x828]
push eax
lea ecx, [ebp - 0x8a0]
push ecx
call fcn.100d6e90
add esp, 8
mov dword [ebp - 0x89c], eax
mov edx, dword [ebp - 0x89c]
push edx
mov ecx, dword [ebp - 0x24c]
add ecx, 8
call fcn.100d6f80
lea ecx, [ebp - 0x8a0]
call fcn.100d67d0
mov eax, dword [ebp - 0x24c]
cmp dword [eax + 8], 0
je 0x100ce27f
mov byte [ebp - 0x283], 1
jmp 0x100ce286
mov byte [ebp - 0x283], 0
mov cl, byte [ebp - 0x283]
mov byte [ebp - 0x2b2], cl
movzx edx, byte [ebp - 0x2b2]
test edx, edx
jne 0x100ce2a9
mov dword [ebp - 4], 0xffffffff
jmp 0x100ce389
mov eax, dword [ebp - 0x24c]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x8a4], ecx
mov edx, dword [ebp - 0x8a4]
mov dword [ebp - 0x50], edx
mov eax, 1
test eax, eax
je 0x100ce33d
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x8a8], ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0x8a8]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x8ac], edx
mov eax, dword [ebp - 0x8ac]
add eax, 4
mov dword [ebp - 0x8b0], eax
cmp dword [ebp - 0x3ac], 0
jne 0x100ce323
jmp 0x100ce331
mov ecx, dword [ebp - 0x3ac]
mov edx, dword [ebp - 0x8b0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x24c]
mov byte [eax + 0x10], 1
jmp 0x100ce382
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x8b4], ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x8b4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x3ac], 0
jne 0x100ce377
jmp 0x100ce382
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x3ac]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x230]
add eax, 0xac
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x8b8], 0x100ddbb0
mov ecx, dword [ebp - 0x8b8]
mov dword [ebp - 0x8bc], ecx
mov edx, dword [ebp - 0x3b0]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100ce3ce
mov ecx, 5
add ecx, 1
mov dword [ebp - 0x82c], ecx
jmp 0x100ce3d8
mov dword [ebp - 0x82c], 5
mov edx, dword [ebp - 0x82c]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x3b0]
cmp dword [eax + 4], 0
je 0x100ce434
mov ecx, dword [ebp - 0x3b0]
cmp dword [ecx + 8], 0
je 0x100ce405
mov byte [ebp - 0x284], 1
jmp 0x100ce40c
mov byte [ebp - 0x284], 0
mov dl, byte [ebp - 0x284]
mov byte [ebp - 0x2b3], dl
movzx eax, byte [ebp - 0x2b3]
test eax, eax
je 0x100ce434
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0x830]
cmp edx, dword [ecx + 0xc]
jbe 0x100ce45e
mov dword [ebp - 0x83c], 0
mov eax, dword [ebp - 0x224]
or eax, 0x10
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x83c]
mov dword [ebp - 0x1434], ecx
jmp 0x100ce5b7
mov edx, dword [ebp - 0x8bc]
mov dword [ebp - 0x8c0], edx
mov eax, dword [ebp - 0x8c0]
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x3b0]
add ecx, 8
mov dword [ebp - 0x8c4], ecx
mov edx, dword [ebp - 0x8c4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x830]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x8c8], edx
mov eax, dword [ebp - 0x8c8]
mov ecx, dword [ebp - 0x8cc]
mov dword [eax], ecx
mov edx, 5
shl edx, 2
mov eax, dword [ebp - 0x3b0]
add edx, dword [eax + 4]
mov dword [ebp - 0x834], edx
mov ecx, dword [ebp - 0x834]
cmp dword [ecx], 0
je 0x100ce51b
mov edx, dword [ebp - 0x834]
mov eax, dword [edx]
mov dword [ebp - 0x8d0], eax
mov ecx, dword [ebp - 0x8d0]
mov dword [ebp - 0x8d4], ecx
lea edx, [ebp - 0x8d4]
mov dword [ebp - 0x8d8], edx
mov eax, dword [ebp - 0x8d8]
mov dword [ebp - 0x8dc], eax
mov ecx, dword [ebp - 0x224]
or ecx, 0x20
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x8dc]
mov dword [ebp - 0x838], edx
jmp 0x100ce558
mov dword [ebp - 0x8e0], 0
lea eax, [ebp - 0x8e0]
mov dword [ebp - 0x8e4], eax
mov ecx, dword [ebp - 0x8e4]
mov dword [ebp - 0x8e8], ecx
mov edx, dword [ebp - 0x224]
or edx, 0x40
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x8e8]
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x838]
mov dword [ebp - 0x8ec], ecx
mov edx, dword [ebp - 0x8ec]
mov eax, dword [edx]
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x224]
or ecx, 0x80
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
and edx, 0x40
je 0x100ce596
and dword [ebp - 0x224], 0xffffffbf
mov eax, dword [ebp - 0x224]
and eax, 0x20
je 0x100ce5a8
and dword [ebp - 0x224], 0xffffffdf
mov ecx, dword [ebp - 0x224]
or ecx, 0x10
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x230]
add edx, 0xac
mov dword [ebp - 0x3b4], edx
mov dword [ebp - 0x8f0], 0x100ddd10
mov eax, dword [ebp - 0x8f0]
mov dword [ebp - 0x8f4], eax
mov ecx, dword [ebp - 0x3b4]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100ce5fd
mov eax, 6
add eax, 1
mov dword [ebp - 0x840], eax
jmp 0x100ce607
mov dword [ebp - 0x840], 6
mov ecx, dword [ebp - 0x840]
mov dword [ebp - 0x844], ecx
mov edx, dword [ebp - 0x3b4]
cmp dword [edx + 4], 0
je 0x100ce663
mov eax, dword [ebp - 0x3b4]
cmp dword [eax + 8], 0
je 0x100ce634
mov byte [ebp - 0x285], 1
jmp 0x100ce63b
mov byte [ebp - 0x285], 0
mov cl, byte [ebp - 0x285]
mov byte [ebp - 0x2b4], cl
movzx edx, byte [ebp - 0x2b4]
test edx, edx
je 0x100ce663
mov eax, dword [ebp - 0x3b4]
mov ecx, dword [ebp - 0x844]
cmp ecx, dword [eax + 0xc]
jbe 0x100ce690
mov dword [ebp - 0x4a0], 0
mov edx, dword [ebp - 0x224]
or edx, 0x100
mov dword [ebp - 0x224], edx
lea eax, [ebp - 0x4a0]
mov dword [ebp - 0x1438], eax
jmp 0x100ce7fb
mov ecx, dword [ebp - 0x8f4]
mov dword [ebp - 0x8f8], ecx
mov edx, dword [ebp - 0x8f8]
mov dword [ebp - 0x904], edx
mov eax, dword [ebp - 0x3b4]
add eax, 8
mov dword [ebp - 0x8fc], eax
mov ecx, dword [ebp - 0x8fc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x844]
lea ecx, [edx + eax*4]
mov dword [ebp - 0x900], ecx
mov edx, dword [ebp - 0x900]
mov eax, dword [ebp - 0x904]
mov dword [edx], eax
mov ecx, 6
shl ecx, 2
mov edx, dword [ebp - 0x3b4]
add ecx, dword [edx + 4]
mov dword [ebp - 0x848], ecx
mov eax, dword [ebp - 0x848]
cmp dword [eax], 0
je 0x100ce74f
mov ecx, dword [ebp - 0x848]
mov edx, dword [ecx]
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x908]
mov dword [ebp - 0x90c], eax
lea ecx, [ebp - 0x90c]
mov dword [ebp - 0x910], ecx
mov edx, dword [ebp - 0x910]
mov dword [ebp - 0x914], edx
mov eax, dword [ebp - 0x224]
or eax, 0x200
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x914]
mov dword [ebp - 0x49c], ecx
jmp 0x100ce78f
mov dword [ebp - 0x918], 0
lea edx, [ebp - 0x918]
mov dword [ebp - 0x91c], edx
mov eax, dword [ebp - 0x91c]
mov dword [ebp - 0x920], eax
mov ecx, dword [ebp - 0x224]
or ecx, 0x400
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x920]
mov dword [ebp - 0x49c], edx
mov eax, dword [ebp - 0x49c]
mov dword [ebp - 0x924], eax
mov ecx, dword [ebp - 0x924]
mov edx, dword [ecx]
mov dword [ebp - 0x4a0], edx
mov eax, dword [ebp - 0x224]
or eax, 0x800
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
and ecx, 0x400
je 0x100ce7d2
and dword [ebp - 0x224], 0xfffffbff
mov edx, dword [ebp - 0x224]
and edx, 0x200
je 0x100ce7ea
and dword [ebp - 0x224], 0xfffffdff
mov eax, dword [ebp - 0x224]
or eax, 0x100
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0xac
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x928], 0x100ddd70
mov edx, dword [ebp - 0x928]
mov dword [ebp - 0x92c], edx
mov eax, dword [ebp - 0x3b8]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x100ce841
mov edx, 7
add edx, 1
mov dword [ebp - 0x4a4], edx
jmp 0x100ce84b
mov dword [ebp - 0x4a4], 7
mov eax, dword [ebp - 0x4a4]
mov dword [ebp - 0x4a8], eax
mov ecx, dword [ebp - 0x3b8]
cmp dword [ecx + 4], 0
je 0x100ce8a7
mov edx, dword [ebp - 0x3b8]
cmp dword [edx + 8], 0
je 0x100ce878
mov byte [ebp - 0x286], 1
jmp 0x100ce87f
mov byte [ebp - 0x286], 0
mov al, byte [ebp - 0x286]
mov byte [ebp - 0x2b5], al
movzx ecx, byte [ebp - 0x2b5]
test ecx, ecx
je 0x100ce8a7
mov edx, dword [ebp - 0x3b8]
mov eax, dword [ebp - 0x4a8]
cmp eax, dword [edx + 0xc]
jbe 0x100ce8d4
mov dword [ebp - 0x4b4], 0
mov ecx, dword [ebp - 0x224]
or ecx, 0x1000
mov dword [ebp - 0x224], ecx
lea edx, [ebp - 0x4b4]
mov dword [ebp - 0x143c], edx
jmp 0x100cea40
mov eax, dword [ebp - 0x92c]
mov dword [ebp - 0x930], eax
mov ecx, dword [ebp - 0x930]
mov dword [ebp - 0x93c], ecx
mov edx, dword [ebp - 0x3b8]
add edx, 8
mov dword [ebp - 0x934], edx
mov eax, dword [ebp - 0x934]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4a8]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x938], eax
mov ecx, dword [ebp - 0x938]
mov edx, dword [ebp - 0x93c]
mov dword [ecx], edx
mov eax, 7
shl eax, 2
mov ecx, dword [ebp - 0x3b8]
add eax, dword [ecx + 4]
mov dword [ebp - 0x4ac], eax
mov edx, dword [ebp - 0x4ac]
cmp dword [edx], 0
je 0x100ce994
mov eax, dword [ebp - 0x4ac]
mov ecx, dword [eax]
mov dword [ebp - 0x940], ecx
mov edx, dword [ebp - 0x940]
mov dword [ebp - 0x944], edx
lea eax, [ebp - 0x944]
mov dword [ebp - 0x948], eax
mov ecx, dword [ebp - 0x948]
mov dword [ebp - 0x94c], ecx
mov edx, dword [ebp - 0x224]
or edx, 0x2000
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x94c]
mov dword [ebp - 0x4b0], eax
jmp 0x100ce9d3
mov dword [ebp - 0x950], 0
lea ecx, [ebp - 0x950]
mov dword [ebp - 0x954], ecx
mov edx, dword [ebp - 0x954]
mov dword [ebp - 0x958], edx
mov eax, dword [ebp - 0x224]
or eax, 0x4000
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x958]
mov dword [ebp - 0x4b0], ecx
mov edx, dword [ebp - 0x4b0]
mov dword [ebp - 0x95c], edx
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax]
mov dword [ebp - 0x4b4], ecx
mov edx, dword [ebp - 0x224]
or edx, 0x8000
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x224]
and eax, 0x4000
je 0x100cea16
and dword [ebp - 0x224], 0xffffbfff
mov ecx, dword [ebp - 0x224]
and ecx, 0x2000
je 0x100cea2e
and dword [ebp - 0x224], 0xffffdfff
mov edx, dword [ebp - 0x224]
or edx, 0x1000
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x230]
add eax, 0xac
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x960], 0x100dde70
mov ecx, dword [ebp - 0x960]
mov dword [ebp - 0x964], ecx
mov edx, dword [ebp - 0x3bc]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100cea85
mov ecx, 0x24
add ecx, 1
mov dword [ebp - 0x4b8], ecx
jmp 0x100cea8f
mov dword [ebp - 0x4b8], 0x24
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x4bc], edx
mov eax, dword [ebp - 0x3bc]
cmp dword [eax + 4], 0
je 0x100ceaeb
mov ecx, dword [ebp - 0x3bc]
cmp dword [ecx + 8], 0
je 0x100ceabc
mov byte [ebp - 0x287], 1
jmp 0x100ceac3
mov byte [ebp - 0x287], 0
mov dl, byte [ebp - 0x287]
mov byte [ebp - 0x2b6], dl
movzx eax, byte [ebp - 0x2b6]
test eax, eax
je 0x100ceaeb
mov ecx, dword [ebp - 0x3bc]
mov edx, dword [ebp - 0x4bc]
cmp edx, dword [ecx + 0xc]
jbe 0x100ceb17
mov dword [ebp - 0x4c8], 0
mov eax, dword [ebp - 0x224]
or eax, 0x10000
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x4c8]
mov dword [ebp - 0x1440], ecx
jmp 0x100cec84
mov edx, dword [ebp - 0x964]
mov dword [ebp - 0x968], edx
mov eax, dword [ebp - 0x968]
mov dword [ebp - 0x974], eax
mov ecx, dword [ebp - 0x3bc]
add ecx, 8
mov dword [ebp - 0x96c], ecx
mov edx, dword [ebp - 0x96c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4bc]
lea edx, [eax + ecx*4]
mov dword [ebp - 0x970], edx
mov eax, dword [ebp - 0x970]
mov ecx, dword [ebp - 0x974]
mov dword [eax], ecx
mov edx, 0x24
shl edx, 2
mov eax, dword [ebp - 0x3bc]
add edx, dword [eax + 4]
mov dword [ebp - 0x4c0], edx
mov ecx, dword [ebp - 0x4c0]
cmp dword [ecx], 0
je 0x100cebd7
mov edx, dword [ebp - 0x4c0]
mov eax, dword [edx]
mov dword [ebp - 0x978], eax
mov ecx, dword [ebp - 0x978]
mov dword [ebp - 0x97c], ecx
lea edx, [ebp - 0x97c]
mov dword [ebp - 0x980], edx
mov eax, dword [ebp - 0x980]
mov dword [ebp - 0x984], eax
mov ecx, dword [ebp - 0x224]
or ecx, 0x20000
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x984]
mov dword [ebp - 0x4c4], edx
jmp 0x100cec17
mov dword [ebp - 0x988], 0
lea eax, [ebp - 0x988]
mov dword [ebp - 0x98c], eax
mov ecx, dword [ebp - 0x98c]
mov dword [ebp - 0x990], ecx
mov edx, dword [ebp - 0x224]
or edx, 0x40000
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x990]
mov dword [ebp - 0x4c4], eax
mov ecx, dword [ebp - 0x4c4]
mov dword [ebp - 0x994], ecx
mov edx, dword [ebp - 0x994]
mov eax, dword [edx]
mov dword [ebp - 0x4c8], eax
mov ecx, dword [ebp - 0x224]
or ecx, 0x80000
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
and edx, 0x40000
je 0x100cec5b
and dword [ebp - 0x224], 0xfffbffff
mov eax, dword [ebp - 0x224]
and eax, 0x20000
je 0x100cec72
and dword [ebp - 0x224], 0xfffdffff
mov ecx, dword [ebp - 0x224]
or ecx, 0x10000
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x230]
add edx, 0xd4
mov dword [ebp - 0x250], edx
mov eax, dword [0x101b2b74]
mov dword [ebp - 0x998], eax
lea ecx, [ebp - 0x3c0]
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4cc]
mov eax, dword [ebp - 0x998]
mov dword [edx], eax
mov ecx, dword [ebp - 0x4cc]
mov dword [ebp - 0x99c], ecx
mov edx, dword [ebp - 0x99c]
mov dword [ebp - 0x142c], edx
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x250]
mov ecx, dword [ebp - 0x3c0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x3c0]
mov eax, dword [edx]
mov dword [ebp - 0x9a0], eax
mov ecx, dword [ebp - 0x9a0]
mov edx, dword [ebp - 0x250]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x250]
cmp dword [eax + 4], 0
jne 0x100ced1d
mov dword [ebp - 4], 0xffffffff
jmp 0x100cef8d
mov dword [ebp - 0x444], 0
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x444]
mov ecx, dword [edx + eax*4]
mov dword [ebp - 0x9a4], ecx
mov edx, dword [ebp - 0x9a4]
mov dword [ebp - 0x4d0], edx
cmp dword [ebp - 0x4d0], 0
jne 0x100ced5d
mov byte [ebp - 0x240], 0
jmp 0x100cedb4
mov eax, dword [0x10149914]
mov dword [ebp - 0x9a8], eax
push 0x1c
lea ecx, [ebp - 0xac]
push ecx
mov edx, dword [ebp - 0x4d0]
push edx
call dword [ebp - 0x9a8]
test eax, eax
jne 0x100ced8b
mov byte [ebp - 0x240], 0
jmp 0x100cedb4
mov eax, dword [ebp - 0x98]
and eax, 1
jne 0x100ceda4
mov ecx, dword [ebp - 0x98]
and ecx, 0x100
je 0x100cedad
mov byte [ebp - 0x240], 0
jmp 0x100cedb4
mov byte [ebp - 0x240], 1
movzx edx, byte [ebp - 0x240]
test edx, edx
je 0x100cedd3
mov eax, dword [ebp - 0x444]
add eax, 1
mov dword [ebp - 0x444], eax
jmp 0x100ced27
mov ecx, dword [ebp - 0x444]
mov dword [ebp - 0x9ac], ecx
mov edx, dword [ebp - 0x9ac]
mov eax, dword [ebp - 0x250]
mov dword [eax + 0xc], edx
mov ecx, dword [ebp - 0x250]
cmp dword [ecx + 0xc], 0
jne 0x100cee06
mov dword [ebp - 4], 0xffffffff
jmp 0x100cef8d
mov edx, 1
test edx, edx
je 0x100cee23
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov dword [ebp - 0x4d4], ecx
jmp 0x100cee32
mov edx, dword [ebp - 0x250]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x4d4], eax
mov ecx, dword [ebp - 0x4d4]
push ecx
lea edx, [ebp - 0x9b4]
push edx
call fcn.100d6e90
add esp, 8
mov dword [ebp - 0x9b0], eax
mov eax, dword [ebp - 0x9b0]
push eax
mov ecx, dword [ebp - 0x250]
add ecx, 8
call fcn.100d6f80
lea ecx, [ebp - 0x9b4]
call fcn.100d67d0
mov ecx, dword [ebp - 0x250]
cmp dword [ecx + 8], 0
je 0x100cee83
mov byte [ebp - 0x288], 1
jmp 0x100cee8a
mov byte [ebp - 0x288], 0
mov dl, byte [ebp - 0x288]
mov byte [ebp - 0x2b7], dl
movzx eax, byte [ebp - 0x2b7]
test eax, eax
jne 0x100ceead
mov dword [ebp - 4], 0xffffffff
jmp 0x100cef8d
mov ecx, dword [ebp - 0x250]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9b8]
mov dword [ebp - 0x4c], eax
mov ecx, 1
test ecx, ecx
je 0x100cef41
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x9bc], edx
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
push edx
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 4]
sub ecx, 4
push ecx
mov edx, dword [ebp - 0x9bc]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x9c0], eax
mov ecx, dword [ebp - 0x9c0]
add ecx, 4
mov dword [ebp - 0x9c4], ecx
cmp dword [ebp - 0x3c0], 0
jne 0x100cef27
jmp 0x100cef35
mov edx, dword [ebp - 0x3c0]
mov eax, dword [ebp - 0x9c4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x250]
mov byte [ecx + 0x10], 1
jmp 0x100cef86
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x9c8], edx
mov eax, dword [ebp - 0x250]
mov ecx, dword [eax + 0xc]
shl ecx, 2
push ecx
mov edx, dword [ebp - 0x250]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0x9c8]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x3c0], 0
jne 0x100cef7b
jmp 0x100cef86
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x3c0]
mov dword [eax], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x230]
add ecx, 0xd4
mov dword [ebp - 0x3c4], ecx
mov dword [ebp - 0x9cc], 0x100dd320
mov edx, dword [ebp - 0x9cc]
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x3c4]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x100cefd3
mov edx, 0x1b
add edx, 1
mov dword [ebp - 0x4d8], edx
jmp 0x100cefdd
mov dword [ebp - 0x4d8], 0x1b
mov eax, dword [ebp - 0x4d8]
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x3c4]
cmp dword [ecx + 4], 0
je 0x100cf039
mov edx, dword [ebp - 0x3c4]
cmp dword [edx + 8], 0
je 0x100cf00a
mov byte [ebp - 0x289], 1
jmp 0x100cf011
mov byte [ebp - 0x289], 0
mov al, byte [ebp - 0x289]
mov byte [ebp - 0x2b8], al
movzx ecx, byte [ebp - 0x2b8]
test ecx, ecx
je 0x100cf039
mov edx, dword [ebp - 0x3c4]
mov eax, dword [ebp - 0x4dc]
cmp eax, dword [edx + 0xc]
jbe 0x100cf066
mov dword [ebp - 0x4e8], 0
mov ecx, dword [ebp - 0x224]
or ecx, 0x100000
mov dword [ebp - 0x224], ecx
lea edx, [ebp - 0x4e8]
mov dword [ebp - 0x1448], edx
jmp 0x100cf1d2
mov eax, dword [ebp - 0x9d0]
mov dword [ebp - 0x9d4], eax
mov ecx, dword [ebp - 0x9d4]
mov dword [ebp - 0x9e0], ecx
mov edx, dword [ebp - 0x3c4]
add edx, 8
mov dword [ebp - 0x9d8], edx
mov eax, dword [ebp - 0x9d8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x4dc]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0x9dc]
mov edx, dword [ebp - 0x9e0]
mov dword [ecx], edx
mov eax, 0x1b
shl eax, 2
mov ecx, dword [ebp - 0x3c4]
add eax, dword [ecx + 4]
mov dword [ebp - 0x4e0], eax
mov edx, dword [ebp - 0x4e0]
cmp dword [edx], 0
je 0x100cf126
mov eax, dword [ebp - 0x4e0]
mov ecx, dword [eax]
mov dword [ebp - 0x9e4], ecx
mov edx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9e8], edx
lea eax, [ebp - 0x9e8]
mov dword [ebp - 0x9ec], eax
mov ecx, dword [ebp - 0x9ec]
mov dword [ebp - 0x9f0], ecx
mov edx, dword [ebp - 0x224]
or edx, 0x200000
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0x4e4], eax
jmp 0x100cf165
mov dword [ebp - 0x9f4], 0
lea ecx, [ebp - 0x9f4]
mov dword [ebp - 0x9f8], ecx
mov edx, dword [ebp - 0x9f8]
mov dword [ebp - 0x9fc], edx
mov eax, dword [ebp - 0x224]
or eax, 0x400000
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x9fc]
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e4]
mov dword [ebp - 0xa00], edx
mov eax, dword [ebp - 0xa00]
mov ecx, dword [eax]
mov dword [ebp - 0x4e8], ecx
mov edx, dword [ebp - 0x224]
or edx, 0x800000
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x224]
and eax, 0x400000
je 0x100cf1a8
and dword [ebp - 0x224], 0xffbfffff
mov ecx, dword [ebp - 0x224]
and ecx, 0x200000
je 0x100cf1c0
and dword [ebp - 0x224], 0xffdfffff
mov edx, dword [ebp - 0x224]
or edx, 0x100000
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0x230]
add eax, 0xd4
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0xa04], 0x100dd550
mov ecx, dword [ebp - 0xa04]
mov dword [ebp - 0xa08], ecx
mov edx, dword [ebp - 0x3c8]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100cf217
mov ecx, 0x5d
add ecx, 1
mov dword [ebp - 0x4ec], ecx
jmp 0x100cf221
mov dword [ebp - 0x4ec], 0x5d
mov edx, dword [ebp - 0x4ec]
mov dword [ebp - 0x4f0], edx
mov eax, dword [ebp - 0x3c8]
cmp dword [eax + 4], 0
je 0x100cf27d
mov ecx, dword [ebp - 0x3c8]
cmp dword [ecx + 8], 0
je 0x100cf24e
mov byte [ebp - 0x28a], 1
jmp 0x100cf255
mov byte [ebp - 0x28a], 0
mov dl, byte [ebp - 0x28a]
mov byte [ebp - 0x2b9], dl
movzx eax, byte [ebp - 0x2b9]
test eax, eax
je 0x100cf27d
mov ecx, dword [ebp - 0x3c8]
mov edx, dword [ebp - 0x4f0]
cmp edx, dword [ecx + 0xc]
jbe 0x100cf2a9
mov dword [ebp - 0x4fc], 0
mov eax, dword [ebp - 0x224]
or eax, 0x1000000
mov dword [ebp - 0x224], eax
lea ecx, [ebp - 0x4fc]
mov dword [ebp - 0x144c], ecx
jmp 0x100cf416
mov edx, dword [ebp - 0xa08]
mov dword [ebp - 0xa0c], edx
mov eax, dword [ebp - 0xa0c]
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0x3c8]
add ecx, 8
mov dword [ebp - 0xa10], ecx
mov edx, dword [ebp - 0xa10]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x4f0]
lea edx, [eax + ecx*4]
mov dword [ebp - 0xa14], edx
mov eax, dword [ebp - 0xa14]
mov ecx, dword [ebp - 0xa18]
mov dword [eax], ecx
mov edx, 0x5d
shl edx, 2
mov eax, dword [ebp - 0x3c8]
add edx, dword [eax + 4]
mov dword [ebp - 0x4f4], edx
mov ecx, dword [ebp - 0x4f4]
cmp dword [ecx], 0
je 0x100cf369
mov edx, dword [ebp - 0x4f4]
mov eax, dword [edx]
mov dword [ebp - 0xa1c], eax
mov ecx, dword [ebp - 0xa1c]
mov dword [ebp - 0xa20], ecx
lea edx, [ebp - 0xa20]
mov dword [ebp - 0xa24], edx
mov eax, dword [ebp - 0xa24]
mov dword [ebp - 0xa28], eax
mov ecx, dword [ebp - 0x224]
or ecx, 0x2000000
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0xa28]
mov dword [ebp - 0x4f8], edx
jmp 0x100cf3a9
mov dword [ebp - 0xa2c], 0
lea eax, [ebp - 0xa2c]
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0xa30]
mov dword [ebp - 0xa34], ecx
mov edx, dword [ebp - 0x224]
or edx, 0x4000000
mov dword [ebp - 0x224], edx
mov eax, dword [ebp - 0xa34]
mov dword [ebp - 0x4f8], eax
mov ecx, dword [ebp - 0x4f8]
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0xa38]
mov eax, dword [edx]
mov dword [ebp - 0x4fc], eax
mov ecx, dword [ebp - 0x224]
or ecx, 0x8000000
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
and edx, 0x4000000
je 0x100cf3ed
and dword [ebp - 0x224], 0xfbffffff
mov eax, dword [ebp - 0x224]
and eax, 0x2000000
je 0x100cf404
and dword [ebp - 0x224], 0xfdffffff
mov ecx, dword [ebp - 0x224]
or ecx, 0x1000000
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x230]
add edx, 0xd4
mov dword [ebp - 0x3cc], edx
mov dword [ebp - 0xa3c], 0x100dd8d0
mov eax, dword [ebp - 0xa3c]
mov dword [ebp - 0xa40], eax
mov ecx, dword [ebp - 0x3cc]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100cf45c
mov eax, 0x5a
add eax, 1
mov dword [ebp - 0x500], eax
jmp 0x100cf466
mov dword [ebp - 0x500], 0x5a
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x3cc]
cmp dword [edx + 4], 0
je 0x100cf4c2
mov eax, dword [ebp - 0x3cc]
cmp dword [eax + 8], 0
je 0x100cf493
mov byte [ebp - 0x28b], 1
jmp 0x100cf49a
mov byte [ebp - 0x28b], 0
mov cl, byte [ebp - 0x28b]
mov byte [ebp - 0x2ba], cl
movzx edx, byte [ebp - 0x2ba]
test edx, edx
je 0x100cf4c2
mov eax, dword [ebp - 0x3cc]
mov ecx, dword [ebp - 0x504]
cmp ecx, dword [eax + 0xc]
jbe 0x100cf4ef
mov dword [ebp - 0x510], 0
mov edx, dword [ebp - 0x224]
or edx, 0x10000000
mov dword [ebp - 0x224], edx
lea eax, [ebp - 0x510]
mov dword [ebp - 0x1450], eax
jmp 0x100cf65a
mov ecx, dword [ebp - 0xa40]
mov dword [ebp - 0xa44], ecx
mov edx, dword [ebp - 0xa44]
mov dword [ebp - 0xa50], edx
mov eax, dword [ebp - 0x3cc]
add eax, 8
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0xa48]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x504]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xa4c], ecx
mov edx, dword [ebp - 0xa4c]
mov eax, dword [ebp - 0xa50]
mov dword [edx], eax
mov ecx, 0x5a
shl ecx, 2
mov edx, dword [ebp - 0x3cc]
add ecx, dword [edx + 4]
mov dword [ebp - 0x508], ecx
mov eax, dword [ebp - 0x508]
cmp dword [eax], 0
je 0x100cf5ae
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx]
mov dword [ebp - 0xa54], edx
mov eax, dword [ebp - 0xa54]
mov dword [ebp - 0xa58], eax
lea ecx, [ebp - 0xa58]
mov dword [ebp - 0xa5c], ecx
mov edx, dword [ebp - 0xa5c]
mov dword [ebp - 0xa60], edx
mov eax, dword [ebp - 0x224]
or eax, 0x20000000
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0xa60]
mov dword [ebp - 0x50c], ecx
jmp 0x100cf5ee
mov dword [ebp - 0xa64], 0
lea edx, [ebp - 0xa64]
mov dword [ebp - 0xa68], edx
mov eax, dword [ebp - 0xa68]
mov dword [ebp - 0xa6c], eax
mov ecx, dword [ebp - 0x224]
or ecx, 0x40000000
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0xa6c]
mov dword [ebp - 0x50c], edx
mov eax, dword [ebp - 0x50c]
mov dword [ebp - 0xa70], eax
mov ecx, dword [ebp - 0xa70]
mov edx, dword [ecx]
mov dword [ebp - 0x510], edx
mov eax, dword [ebp - 0x224]
or eax, 0x80000000
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
and ecx, 0x40000000
je 0x100cf631
and dword [ebp - 0x224], 0xbfffffff
mov edx, dword [ebp - 0x224]
and edx, 0x20000000
je 0x100cf649
and dword [ebp - 0x224], 0xdfffffff
mov eax, dword [ebp - 0x224]
or eax, 0x10000000
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0xfc
mov dword [ebp - 0x254], ecx
mov edx, dword [0x101b2b8c]
mov dword [ebp - 0xa74], edx
lea eax, [ebp - 0x3d0]
mov dword [ebp - 0x514], eax
mov ecx, dword [ebp - 0x514]
mov edx, dword [ebp - 0xa74]
mov dword [ecx], edx
mov eax, dword [ebp - 0x514]
mov dword [ebp - 0xa78], eax
mov ecx, dword [ebp - 0xa78]
mov dword [ebp - 0x1454], ecx
mov dword [ebp - 4], 3
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x3d0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ecx]
mov dword [ebp - 0xa7c], edx
mov eax, dword [ebp - 0xa7c]
mov ecx, dword [ebp - 0x254]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x254]
cmp dword [edx + 4], 0
jne 0x100cf6f4
mov dword [ebp - 4], 0xffffffff
jmp 0x100cf964
mov dword [ebp - 0x450], 0
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x450]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xa80], eax
mov ecx, dword [ebp - 0xa80]
mov dword [ebp - 0x518], ecx
cmp dword [ebp - 0x518], 0
jne 0x100cf734
mov byte [ebp - 0x231], 0
jmp 0x100cf78b
mov edx, dword [0x10149914]
mov dword [ebp - 0xa84], edx
push 0x1c
lea eax, [ebp - 0x100]
push eax
mov ecx, dword [ebp - 0x518]
push ecx
call dword [ebp - 0xa84]
test eax, eax
jne 0x100cf763
mov byte [ebp - 0x231], 0
jmp 0x100cf78b
mov edx, dword [ebp - 0xec]
and edx, 1
jne 0x100cf77b
mov eax, dword [ebp - 0xec]
and eax, 0x100
je 0x100cf784
mov byte [ebp - 0x231], 0
jmp 0x100cf78b
mov byte [ebp - 0x231], 1
movzx ecx, byte [ebp - 0x231]
test ecx, ecx
je 0x100cf7aa
mov edx, dword [ebp - 0x450]
add edx, 1
mov dword [ebp - 0x450], edx
jmp 0x100cf6fe
mov eax, dword [ebp - 0x450]
mov dword [ebp - 0xa88], eax
mov ecx, dword [ebp - 0xa88]
mov edx, dword [ebp - 0x254]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0xc], 0
jne 0x100cf7dd
mov dword [ebp - 4], 0xffffffff
jmp 0x100cf964
mov ecx, 1
test ecx, ecx
je 0x100cf7fa
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x51c], eax
jmp 0x100cf809
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x51c], edx
mov eax, dword [ebp - 0x51c]
push eax
lea ecx, [ebp - 0xa90]
push ecx
call fcn.100d6e90
add esp, 8
mov dword [ebp - 0xa8c], eax
mov edx, dword [ebp - 0xa8c]
push edx
mov ecx, dword [ebp - 0x254]
add ecx, 8
call fcn.100d6f80
lea ecx, [ebp - 0xa90]
call fcn.100d67d0
mov eax, dword [ebp - 0x254]
cmp dword [eax + 8], 0
je 0x100cf85a
mov byte [ebp - 0x28c], 1
jmp 0x100cf861
mov byte [ebp - 0x28c], 0
mov cl, byte [ebp - 0x28c]
mov byte [ebp - 0x2bb], cl
movzx edx, byte [ebp - 0x2bb]
test edx, edx
jne 0x100cf884
mov dword [ebp - 4], 0xffffffff
jmp 0x100cf964
mov eax, dword [ebp - 0x254]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xa94], ecx
mov edx, dword [ebp - 0xa94]
mov dword [ebp - 0x48], edx
mov eax, 1
test eax, eax
je 0x100cf918
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xa98], ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0xa98]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0xa9c], edx
mov eax, dword [ebp - 0xa9c]
add eax, 4
mov dword [ebp - 0xaa0], eax
cmp dword [ebp - 0x3d0], 0
jne 0x100cf8fe
jmp 0x100cf90c
mov ecx, dword [ebp - 0x3d0]
mov edx, dword [ebp - 0xaa0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x254]
mov byte [eax + 0x10], 1
jmp 0x100cf95d
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xaa4], ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xaa4]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x3d0], 0
jne 0x100cf952
jmp 0x100cf95d
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x3d0]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x230]
add eax, 0xfc
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 0xaa8], 0x10102f90
mov ecx, dword [ebp - 0xaa8]
mov dword [ebp - 0xaac], ecx
mov edx, dword [ebp - 0x3d4]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100cf9a9
mov ecx, 0xe
add ecx, 1
mov dword [ebp - 0x520], ecx
jmp 0x100cf9b3
mov dword [ebp - 0x520], 0xe
mov edx, dword [ebp - 0x520]
mov dword [ebp - 0x524], edx
mov eax, dword [ebp - 0x3d4]
cmp dword [eax + 4], 0
je 0x100cfa0f
mov ecx, dword [ebp - 0x3d4]
cmp dword [ecx + 8], 0
je 0x100cf9e0
mov byte [ebp - 0x28d], 1
jmp 0x100cf9e7
mov byte [ebp - 0x28d], 0
mov dl, byte [ebp - 0x28d]
mov byte [ebp - 0x2bc], dl
movzx eax, byte [ebp - 0x2bc]
test eax, eax
je 0x100cfa0f
mov ecx, dword [ebp - 0x3d4]
mov edx, dword [ebp - 0x524]
cmp edx, dword [ecx + 0xc]
jbe 0x100cfa39
mov dword [ebp - 0x530], 0
mov eax, dword [ebp - 0x228]
or eax, 1
mov dword [ebp - 0x228], eax
lea ecx, [ebp - 0x530]
mov dword [ebp - 0x1458], ecx
jmp 0x100cfb8f
mov edx, dword [ebp - 0xaac]
mov dword [ebp - 0xab0], edx
mov eax, dword [ebp - 0xab0]
mov dword [ebp - 0xabc], eax
mov ecx, dword [ebp - 0x3d4]
add ecx, 8
mov dword [ebp - 0xab4], ecx
mov edx, dword [ebp - 0xab4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x524]
lea edx, [eax + ecx*4]
mov dword [ebp - 0xab8], edx
mov eax, dword [ebp - 0xab8]
mov ecx, dword [ebp - 0xabc]
mov dword [eax], ecx
mov edx, 0xe
shl edx, 2
mov eax, dword [ebp - 0x3d4]
add edx, dword [eax + 4]
mov dword [ebp - 0x528], edx
mov ecx, dword [ebp - 0x528]
cmp dword [ecx], 0
je 0x100cfaf6
mov edx, dword [ebp - 0x528]
mov eax, dword [edx]
mov dword [ebp - 0xac0], eax
mov ecx, dword [ebp - 0xac0]
mov dword [ebp - 0xac4], ecx
lea edx, [ebp - 0xac4]
mov dword [ebp - 0xac8], edx
mov eax, dword [ebp - 0xac8]
mov dword [ebp - 0xacc], eax
mov ecx, dword [ebp - 0x228]
or ecx, 2
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0xacc]
mov dword [ebp - 0x52c], edx
jmp 0x100cfb33
mov dword [ebp - 0xad0], 0
lea eax, [ebp - 0xad0]
mov dword [ebp - 0xad4], eax
mov ecx, dword [ebp - 0xad4]
mov dword [ebp - 0xad8], ecx
mov edx, dword [ebp - 0x228]
or edx, 4
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0xad8]
mov dword [ebp - 0x52c], eax
mov ecx, dword [ebp - 0x52c]
mov dword [ebp - 0xadc], ecx
mov edx, dword [ebp - 0xadc]
mov eax, dword [edx]
mov dword [ebp - 0x530], eax
mov ecx, dword [ebp - 0x228]
or ecx, 8
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
and edx, 4
je 0x100cfb6e
and dword [ebp - 0x228], 0xfffffffb
mov eax, dword [ebp - 0x228]
and eax, 2
je 0x100cfb80
and dword [ebp - 0x228], 0xfffffffd
mov ecx, dword [ebp - 0x228]
or ecx, 1
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x230]
add edx, 0xfc
mov dword [ebp - 0x3d8], edx
mov dword [ebp - 0xae0], 0x10103870
mov eax, dword [ebp - 0xae0]
mov dword [ebp - 0xae4], eax
mov ecx, dword [ebp - 0x3d8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100cfbd5
mov eax, 0x13
add eax, 1
mov dword [ebp - 0x534], eax
jmp 0x100cfbdf
mov dword [ebp - 0x534], 0x13
mov ecx, dword [ebp - 0x534]
mov dword [ebp - 0x538], ecx
mov edx, dword [ebp - 0x3d8]
cmp dword [edx + 4], 0
je 0x100cfc3b
mov eax, dword [ebp - 0x3d8]
cmp dword [eax + 8], 0
je 0x100cfc0c
mov byte [ebp - 0x28e], 1
jmp 0x100cfc13
mov byte [ebp - 0x28e], 0
mov cl, byte [ebp - 0x28e]
mov byte [ebp - 0x2bd], cl
movzx edx, byte [ebp - 0x2bd]
test edx, edx
je 0x100cfc3b
mov eax, dword [ebp - 0x3d8]
mov ecx, dword [ebp - 0x538]
cmp ecx, dword [eax + 0xc]
jbe 0x100cfc65
mov dword [ebp - 0x544], 0
mov edx, dword [ebp - 0x228]
or edx, 0x10
mov dword [ebp - 0x228], edx
lea eax, [ebp - 0x544]
mov dword [ebp - 0x145c], eax
jmp 0x100cfdbd
mov ecx, dword [ebp - 0xae4]
mov dword [ebp - 0xae8], ecx
mov edx, dword [ebp - 0xae8]
mov dword [ebp - 0xaf4], edx
mov eax, dword [ebp - 0x3d8]
add eax, 8
mov dword [ebp - 0xaec], eax
mov ecx, dword [ebp - 0xaec]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x538]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xaf0], ecx
mov edx, dword [ebp - 0xaf0]
mov eax, dword [ebp - 0xaf4]
mov dword [edx], eax
mov ecx, 0x13
shl ecx, 2
mov edx, dword [ebp - 0x3d8]
add ecx, dword [edx + 4]
mov dword [ebp - 0x53c], ecx
mov eax, dword [ebp - 0x53c]
cmp dword [eax], 0
je 0x100cfd22
mov ecx, dword [ebp - 0x53c]
mov edx, dword [ecx]
mov dword [ebp - 0xaf8], edx
mov eax, dword [ebp - 0xaf8]
mov dword [ebp - 0xafc], eax
lea ecx, [ebp - 0xafc]
mov dword [ebp - 0xb00], ecx
mov edx, dword [ebp - 0xb00]
mov dword [ebp - 0xb04], edx
mov eax, dword [ebp - 0x228]
or eax, 0x20
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0xb04]
mov dword [ebp - 0x540], ecx
jmp 0x100cfd5f
mov dword [ebp - 0xb08], 0
lea edx, [ebp - 0xb08]
mov dword [ebp - 0xb0c], edx
mov eax, dword [ebp - 0xb0c]
mov dword [ebp - 0xb10], eax
mov ecx, dword [ebp - 0x228]
or ecx, 0x40
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0xb10]
mov dword [ebp - 0x540], edx
mov eax, dword [ebp - 0x540]
mov dword [ebp - 0xb14], eax
mov ecx, dword [ebp - 0xb14]
mov edx, dword [ecx]
mov dword [ebp - 0x544], edx
mov eax, dword [ebp - 0x228]
or eax, 0x80
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
and ecx, 0x40
je 0x100cfd9c
and dword [ebp - 0x228], 0xffffffbf
mov edx, dword [ebp - 0x228]
and edx, 0x20
je 0x100cfdae
and dword [ebp - 0x228], 0xffffffdf
mov eax, dword [ebp - 0x228]
or eax, 0x10
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0x98
mov dword [ebp - 0x244], ecx
mov edx, dword [0x101b2bd4]
mov dword [ebp - 0xb18], edx
lea eax, [ebp - 0x3dc]
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x548]
mov edx, dword [ebp - 0xb18]
mov dword [ecx], edx
mov eax, dword [ebp - 0x548]
mov dword [ebp - 0xb1c], eax
mov ecx, dword [ebp - 0xb1c]
mov dword [ebp - 0x1460], ecx
mov dword [ebp - 4], 4
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x3dc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ecx]
mov dword [ebp - 0xb20], edx
mov eax, dword [ebp - 0xb20]
mov ecx, dword [ebp - 0x244]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x244]
cmp dword [edx + 4], 0
jne 0x100cfe57
mov dword [ebp - 4], 0xffffffff
jmp 0x100d00c7
mov dword [ebp - 0x460], 0
mov eax, dword [ebp - 0x244]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x460]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp - 0xb24]
mov dword [ebp - 0x54c], ecx
cmp dword [ebp - 0x54c], 0
jne 0x100cfe97
mov byte [ebp - 0x232], 0
jmp 0x100cfeee
mov edx, dword [0x10149914]
mov dword [ebp - 0xb28], edx
push 0x1c
lea eax, [ebp - 0x218]
push eax
mov ecx, dword [ebp - 0x54c]
push ecx
call dword [ebp - 0xb28]
test eax, eax
jne 0x100cfec6
mov byte [ebp - 0x232], 0
jmp 0x100cfeee
mov edx, dword [ebp - 0x204]
and edx, 1
jne 0x100cfede
mov eax, dword [ebp - 0x204]
and eax, 0x100
je 0x100cfee7
mov byte [ebp - 0x232], 0
jmp 0x100cfeee
mov byte [ebp - 0x232], 1
movzx ecx, byte [ebp - 0x232]
test ecx, ecx
je 0x100cff0d
mov edx, dword [ebp - 0x460]
add edx, 1
mov dword [ebp - 0x460], edx
jmp 0x100cfe61
mov eax, dword [ebp - 0x460]
mov dword [ebp - 0xb2c], eax
mov ecx, dword [ebp - 0xb2c]
mov edx, dword [ebp - 0x244]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0xc], 0
jne 0x100cff40
mov dword [ebp - 4], 0xffffffff
jmp 0x100d00c7
mov ecx, 1
test ecx, ecx
je 0x100cff5d
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x550], eax
jmp 0x100cff6c
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x550], edx
mov eax, dword [ebp - 0x550]
push eax
lea ecx, [ebp - 0xb34]
push ecx
call fcn.100d6e90
add esp, 8
mov dword [ebp - 0xb30], eax
mov edx, dword [ebp - 0xb30]
push edx
mov ecx, dword [ebp - 0x244]
add ecx, 8
call fcn.100d6f80
lea ecx, [ebp - 0xb34]
call fcn.100d67d0
mov eax, dword [ebp - 0x244]
cmp dword [eax + 8], 0
je 0x100cffbd
mov byte [ebp - 0x28f], 1
jmp 0x100cffc4
mov byte [ebp - 0x28f], 0
mov cl, byte [ebp - 0x28f]
mov byte [ebp - 0x2be], cl
movzx edx, byte [ebp - 0x2be]
test edx, edx
jne 0x100cffe7
mov dword [ebp - 4], 0xffffffff
jmp 0x100d00c7
mov eax, dword [ebp - 0x244]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xb38], ecx
mov edx, dword [ebp - 0xb38]
mov dword [ebp - 0x44], edx
mov eax, 1
test eax, eax
je 0x100d007b
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0xb3c], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0xb3c]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0xb40], edx
mov eax, dword [ebp - 0xb40]
add eax, 4
mov dword [ebp - 0xb44], eax
cmp dword [ebp - 0x3dc], 0
jne 0x100d0061
jmp 0x100d006f
mov ecx, dword [ebp - 0x3dc]
mov edx, dword [ebp - 0xb44]
mov dword [ecx], edx
mov eax, dword [ebp - 0x244]
mov byte [eax + 0x10], 1
jmp 0x100d00c0
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0xb48], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xb48]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x3dc], 0
jne 0x100d00b5
jmp 0x100d00c0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3dc]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x230]
add eax, 0x98
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0xb4c], 0x100ee010
mov ecx, dword [ebp - 0xb4c]
mov dword [ebp - 0xb50], ecx
mov edx, dword [ebp - 0x3e0]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100d010c
mov ecx, 0x10
add ecx, 1
mov dword [ebp - 0x554], ecx
jmp 0x100d0116
mov dword [ebp - 0x554], 0x10
mov edx, dword [ebp - 0x554]
mov dword [ebp - 0x558], edx
mov eax, dword [ebp - 0x3e0]
cmp dword [eax + 4], 0
je 0x100d0172
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx + 8], 0
je 0x100d0143
mov byte [ebp - 0x290], 1
jmp 0x100d014a
mov byte [ebp - 0x290], 0
mov dl, byte [ebp - 0x290]
mov byte [ebp - 0x2bf], dl
movzx eax, byte [ebp - 0x2bf]
test eax, eax
je 0x100d0172
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x558]
cmp edx, dword [ecx + 0xc]
jbe 0x100d019e
mov dword [ebp - 0x564], 0
mov eax, dword [ebp - 0x228]
or eax, 0x100
mov dword [ebp - 0x228], eax
lea ecx, [ebp - 0x564]
mov dword [ebp - 0x1464], ecx
jmp 0x100d030b
mov edx, dword [ebp - 0xb50]
mov dword [ebp - 0xb54], edx
mov eax, dword [ebp - 0xb54]
mov dword [ebp - 0xb60], eax
mov ecx, dword [ebp - 0x3e0]
add ecx, 8
mov dword [ebp - 0xb58], ecx
mov edx, dword [ebp - 0xb58]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x558]
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, 0x10
shl edx, 2
mov eax, dword [ebp - 0x3e0]
add edx, dword [eax + 4]
mov dword [ebp - 0x55c], edx
mov ecx, dword [ebp - 0x55c]
cmp dword [ecx], 0
je 0x100d025e
mov edx, dword [ebp - 0x55c]
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 - 0x228]
or ecx, 0x200
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0xb70]
mov dword [ebp - 0x560], edx
jmp 0x100d029e
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 - 0x228]
or edx, 0x400
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0xb7c]
mov dword [ebp - 0x560], eax
mov ecx, dword [ebp - 0x560]
mov dword [ebp - 0xb80], ecx
mov edx, dword [ebp - 0xb80]
mov eax, dword [edx]
mov dword [ebp - 0x564], eax
mov ecx, dword [ebp - 0x228]
or ecx, 0x800
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
and edx, 0x400
je 0x100d02e2
and dword [ebp - 0x228], 0xfffffbff
mov eax, dword [ebp - 0x228]
and eax, 0x200
je 0x100d02f9
and dword [ebp - 0x228], 0xfffffdff
mov ecx, dword [ebp - 0x228]
or ecx, 0x100
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x230]
add edx, 0x98
mov dword [ebp - 0x3e4], edx
mov dword [ebp - 0xb84], 0x100ee060
mov eax, dword [ebp - 0xb84]
mov dword [ebp - 0xb88], eax
mov ecx, dword [ebp - 0x3e4]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100d0351
mov eax, 0x11
add eax, 1
mov dword [ebp - 0x568], eax
jmp 0x100d035b
mov dword [ebp - 0x568], 0x11
mov ecx, dword [ebp - 0x568]
mov dword [ebp - 0x56c], ecx
mov edx, dword [ebp - 0x3e4]
cmp dword [edx + 4], 0
je 0x100d03b7
mov eax, dword [ebp - 0x3e4]
cmp dword [eax + 8], 0
je 0x100d0388
mov byte [ebp - 0x291], 1
jmp 0x100d038f
mov byte [ebp - 0x291], 0
mov cl, byte [ebp - 0x291]
mov byte [ebp - 0x2c0], cl
movzx edx, byte [ebp - 0x2c0]
test edx, edx
je 0x100d03b7
mov eax, dword [ebp - 0x3e4]
mov ecx, dword [ebp - 0x56c]
cmp ecx, dword [eax + 0xc]
jbe 0x100d03e4
mov dword [ebp - 0x578], 0
mov edx, dword [ebp - 0x228]
or edx, 0x1000
mov dword [ebp - 0x228], edx
lea eax, [ebp - 0x578]
mov dword [ebp - 0x1468], eax
jmp 0x100d054f
mov ecx, dword [ebp - 0xb88]
mov dword [ebp - 0xb8c], ecx
mov edx, dword [ebp - 0xb8c]
mov dword [ebp - 0xb98], edx
mov eax, dword [ebp - 0x3e4]
add eax, 8
mov dword [ebp - 0xb90], eax
mov ecx, dword [ebp - 0xb90]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x56c]
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, 0x11
shl ecx, 2
mov edx, dword [ebp - 0x3e4]
add ecx, dword [edx + 4]
mov dword [ebp - 0x570], ecx
mov eax, dword [ebp - 0x570]
cmp dword [eax], 0
je 0x100d04a3
mov ecx, dword [ebp - 0x570]
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 - 0x228]
or eax, 0x2000
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0xba8]
mov dword [ebp - 0x574], ecx
jmp 0x100d04e3
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 - 0x228]
or ecx, 0x4000
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0xbb4]
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x574]
mov dword [ebp - 0xbb8], eax
mov ecx, dword [ebp - 0xbb8]
mov edx, dword [ecx]
mov dword [ebp - 0x578], edx
mov eax, dword [ebp - 0x228]
or eax, 0x8000
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
and ecx, 0x4000
je 0x100d0526
and dword [ebp - 0x228], 0xffffbfff
mov edx, dword [ebp - 0x228]
and edx, 0x2000
je 0x100d053e
and dword [ebp - 0x228], 0xffffdfff
mov eax, dword [ebp - 0x228]
or eax, 0x1000
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0x98
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0xbbc], 0x100ee1f0
mov edx, dword [ebp - 0xbbc]
mov dword [ebp - 0xbc0], edx
mov eax, dword [ebp - 0x3ec]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x100d0595
mov edx, 0x12
add edx, 1
mov dword [ebp - 0x57c], edx
jmp 0x100d059f
mov dword [ebp - 0x57c], 0x12
mov eax, dword [ebp - 0x57c]
mov dword [ebp - 0x580], eax
mov ecx, dword [ebp - 0x3ec]
cmp dword [ecx + 4], 0
je 0x100d05fb
mov edx, dword [ebp - 0x3ec]
cmp dword [edx + 8], 0
je 0x100d05cc
mov byte [ebp - 0x292], 1
jmp 0x100d05d3
mov byte [ebp - 0x292], 0
mov al, byte [ebp - 0x292]
mov byte [ebp - 0x2c1], al
movzx ecx, byte [ebp - 0x2c1]
test ecx, ecx
je 0x100d05fb
mov edx, dword [ebp - 0x3ec]
mov eax, dword [ebp - 0x580]
cmp eax, dword [edx + 0xc]
jbe 0x100d0628
mov dword [ebp - 0x58c], 0
mov ecx, dword [ebp - 0x228]
or ecx, 0x10000
mov dword [ebp - 0x228], ecx
lea edx, [ebp - 0x58c]
mov dword [ebp - 0x1444], edx
jmp 0x100d0794
mov eax, dword [ebp - 0xbc0]
mov dword [ebp - 0xbc4], eax
mov ecx, dword [ebp - 0xbc4]
mov dword [ebp - 0xbd0], ecx
mov edx, dword [ebp - 0x3ec]
add edx, 8
mov dword [ebp - 0xbc8], edx
mov eax, dword [ebp - 0xbc8]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x580]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xbcc], eax
mov ecx, dword [ebp - 0xbcc]
mov edx, dword [ebp - 0xbd0]
mov dword [ecx], edx
mov eax, 0x12
shl eax, 2
mov ecx, dword [ebp - 0x3ec]
add eax, dword [ecx + 4]
mov dword [ebp - 0x584], eax
mov edx, dword [ebp - 0x584]
cmp dword [edx], 0
je 0x100d06e8
mov eax, dword [ebp - 0x584]
mov ecx, dword [eax]
mov dword [ebp - 0xbd4], ecx
mov edx, dword [ebp - 0xbd4]
mov dword [ebp - 0xbd8], edx
lea eax, [ebp - 0xbd8]
mov dword [ebp - 0xbdc], eax
mov ecx, dword [ebp - 0xbdc]
mov dword [ebp - 0xbe0], ecx
mov edx, dword [ebp - 0x228]
or edx, 0x20000
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0xbe0]
mov dword [ebp - 0x588], eax
jmp 0x100d0727
mov dword [ebp - 0xbe4], 0
lea ecx, [ebp - 0xbe4]
mov dword [ebp - 0xbe8], ecx
mov edx, dword [ebp - 0xbe8]
mov dword [ebp - 0xbec], edx
mov eax, dword [ebp - 0x228]
or eax, 0x40000
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0xbec]
mov dword [ebp - 0x588], ecx
mov edx, dword [ebp - 0x588]
mov dword [ebp - 0xbf0], edx
mov eax, dword [ebp - 0xbf0]
mov ecx, dword [eax]
mov dword [ebp - 0x58c], ecx
mov edx, dword [ebp - 0x228]
or edx, 0x80000
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x228]
and eax, 0x40000
je 0x100d076a
and dword [ebp - 0x228], 0xfffbffff
mov ecx, dword [ebp - 0x228]
and ecx, 0x20000
je 0x100d0782
and dword [ebp - 0x228], 0xfffdffff
mov edx, dword [ebp - 0x228]
or edx, 0x10000
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0x230]
add eax, 0x98
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0xbf4], 0x100ee310
mov ecx, dword [ebp - 0xbf4]
mov dword [ebp - 0xbf8], ecx
mov edx, dword [ebp - 0x3f0]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100d07d9
mov ecx, 0x18
add ecx, 1
mov dword [ebp - 0x590], ecx
jmp 0x100d07e3
mov dword [ebp - 0x590], 0x18
mov edx, dword [ebp - 0x590]
mov dword [ebp - 0x594], edx
mov eax, dword [ebp - 0x3f0]
cmp dword [eax + 4], 0
je 0x100d083f
mov ecx, dword [ebp - 0x3f0]
cmp dword [ecx + 8], 0
je 0x100d0810
mov byte [ebp - 0x2af], 1
jmp 0x100d0817
mov byte [ebp - 0x2af], 0
mov dl, byte [ebp - 0x2af]
mov byte [ebp - 0x2c2], dl
movzx eax, byte [ebp - 0x2c2]
test eax, eax
je 0x100d083f
mov ecx, dword [ebp - 0x3f0]
mov edx, dword [ebp - 0x594]
cmp edx, dword [ecx + 0xc]
jbe 0x100d086b
mov dword [ebp - 0x5a0], 0
mov eax, dword [ebp - 0x228]
or eax, 0x100000
mov dword [ebp - 0x228], eax
lea ecx, [ebp - 0x5a0]
mov dword [ebp - 0x137c], ecx
jmp 0x100d09d8
mov edx, dword [ebp - 0xbf8]
mov dword [ebp - 0xbfc], edx
mov eax, dword [ebp - 0xbfc]
mov dword [ebp - 0xc08], eax
mov ecx, dword [ebp - 0x3f0]
add ecx, 8
mov dword [ebp - 0xc00], ecx
mov edx, dword [ebp - 0xc00]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x594]
lea edx, [eax + ecx*4]
mov dword [ebp - 0xc04], edx
mov eax, dword [ebp - 0xc04]
mov ecx, dword [ebp - 0xc08]
mov dword [eax], ecx
mov edx, 0x18
shl edx, 2
mov eax, dword [ebp - 0x3f0]
add edx, dword [eax + 4]
mov dword [ebp - 0x598], edx
mov ecx, dword [ebp - 0x598]
cmp dword [ecx], 0
je 0x100d092b
mov edx, dword [ebp - 0x598]
mov eax, dword [edx]
mov dword [ebp - 0xc0c], eax
mov ecx, dword [ebp - 0xc0c]
mov dword [ebp - 0xc10], ecx
lea edx, [ebp - 0xc10]
mov dword [ebp - 0xc14], edx
mov eax, dword [ebp - 0xc14]
mov dword [ebp - 0xc18], eax
mov ecx, dword [ebp - 0x228]
or ecx, 0x200000
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0xc18]
mov dword [ebp - 0x59c], edx
jmp 0x100d096b
mov dword [ebp - 0xc1c], 0
lea eax, [ebp - 0xc1c]
mov dword [ebp - 0xc20], eax
mov ecx, dword [ebp - 0xc20]
mov dword [ebp - 0xc24], ecx
mov edx, dword [ebp - 0x228]
or edx, 0x400000
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0xc24]
mov dword [ebp - 0x59c], eax
mov ecx, dword [ebp - 0x59c]
mov dword [ebp - 0xc28], ecx
mov edx, dword [ebp - 0xc28]
mov eax, dword [edx]
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x228]
or ecx, 0x800000
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
and edx, 0x400000
je 0x100d09af
and dword [ebp - 0x228], 0xffbfffff
mov eax, dword [ebp - 0x228]
and eax, 0x200000
je 0x100d09c6
and dword [ebp - 0x228], 0xffdfffff
mov ecx, dword [ebp - 0x228]
or ecx, 0x100000
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x230]
add edx, 0x98
mov dword [ebp - 0x3f4], edx
mov dword [ebp - 0xc2c], 0x100ee600
mov eax, dword [ebp - 0xc2c]
mov dword [ebp - 0xc30], eax
mov ecx, dword [ebp - 0x3f4]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100d0a1e
mov eax, 0x2c
add eax, 1
mov dword [ebp - 0x5a4], eax
jmp 0x100d0a28
mov dword [ebp - 0x5a4], 0x2c
mov ecx, dword [ebp - 0x5a4]
mov dword [ebp - 0x5a8], ecx
mov edx, dword [ebp - 0x3f4]
cmp dword [edx + 4], 0
je 0x100d0a84
mov eax, dword [ebp - 0x3f4]
cmp dword [eax + 8], 0
je 0x100d0a55
mov byte [ebp - 0x293], 1
jmp 0x100d0a5c
mov byte [ebp - 0x293], 0
mov cl, byte [ebp - 0x293]
mov byte [ebp - 0x371], cl
movzx edx, byte [ebp - 0x371]
test edx, edx
je 0x100d0a84
mov eax, dword [ebp - 0x3f4]
mov ecx, dword [ebp - 0x5a8]
cmp ecx, dword [eax + 0xc]
jbe 0x100d0ab1
mov dword [ebp - 0x5b4], 0
mov edx, dword [ebp - 0x228]
or edx, 0x1000000
mov dword [ebp - 0x228], edx
lea eax, [ebp - 0x5b4]
mov dword [ebp - 0x1380], eax
jmp 0x100d0c1c
mov ecx, dword [ebp - 0xc30]
mov dword [ebp - 0xc34], ecx
mov edx, dword [ebp - 0xc34]
mov dword [ebp - 0xc40], edx
mov eax, dword [ebp - 0x3f4]
add eax, 8
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5a8]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xc3c], ecx
mov edx, dword [ebp - 0xc3c]
mov eax, dword [ebp - 0xc40]
mov dword [edx], eax
mov ecx, 0x2c
shl ecx, 2
mov edx, dword [ebp - 0x3f4]
add ecx, dword [edx + 4]
mov dword [ebp - 0x5ac], ecx
mov eax, dword [ebp - 0x5ac]
cmp dword [eax], 0
je 0x100d0b70
mov ecx, dword [ebp - 0x5ac]
mov edx, dword [ecx]
mov dword [ebp - 0xc44], edx
mov eax, dword [ebp - 0xc44]
mov dword [ebp - 0xc48], eax
lea ecx, [ebp - 0xc48]
mov dword [ebp - 0xc4c], ecx
mov edx, dword [ebp - 0xc4c]
mov dword [ebp - 0xc50], edx
mov eax, dword [ebp - 0x228]
or eax, 0x2000000
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0xc50]
mov dword [ebp - 0x5b0], ecx
jmp 0x100d0bb0
mov dword [ebp - 0xc54], 0
lea edx, [ebp - 0xc54]
mov dword [ebp - 0xc58], edx
mov eax, dword [ebp - 0xc58]
mov dword [ebp - 0xc5c], eax
mov ecx, dword [ebp - 0x228]
or ecx, 0x4000000
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0xc5c]
mov dword [ebp - 0x5b0], edx
mov eax, dword [ebp - 0x5b0]
mov dword [ebp - 0xc60], eax
mov ecx, dword [ebp - 0xc60]
mov edx, dword [ecx]
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp - 0x228]
or eax, 0x8000000
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x228]
and ecx, 0x4000000
je 0x100d0bf3
and dword [ebp - 0x228], 0xfbffffff
mov edx, dword [ebp - 0x228]
and edx, 0x2000000
je 0x100d0c0b
and dword [ebp - 0x228], 0xfdffffff
mov eax, dword [ebp - 0x228]
or eax, 0x1000000
mov dword [ebp - 0x228], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0x110
mov dword [ebp - 0x280], ecx
mov edx, dword [0x101b2b80]
mov dword [ebp - 0xc64], edx
lea eax, [ebp - 0x3f8]
mov dword [ebp - 0x5b8], eax
mov ecx, dword [ebp - 0x5b8]
mov edx, dword [ebp - 0xc64]
mov dword [ecx], edx
mov eax, dword [ebp - 0x5b8]
mov dword [ebp - 0xc68], eax
mov ecx, dword [ebp - 0xc68]
mov dword [ebp - 0x1384], ecx
mov dword [ebp - 4], 5
mov edx, dword [ebp - 0x280]
mov eax, dword [ebp - 0x3f8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ecx]
mov dword [ebp - 0xc6c], edx
mov eax, dword [ebp - 0xc6c]
mov ecx, dword [ebp - 0x280]
mov dword [ecx + 4], eax
mov edx, dword [ebp - 0x280]
cmp dword [edx + 4], 0
jne 0x100d0cb6
mov dword [ebp - 4], 0xffffffff
jmp 0x100d0f26
mov dword [ebp - 0x46c], 0
mov eax, dword [ebp - 0x280]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x46c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0xc70], eax
mov ecx, dword [ebp - 0xc70]
mov dword [ebp - 0x5bc], ecx
cmp dword [ebp - 0x5bc], 0
jne 0x100d0cf6
mov byte [ebp - 0x233], 0
jmp 0x100d0d4d
mov edx, dword [0x10149914]
mov dword [ebp - 0xc74], edx
push 0x1c
lea eax, [ebp - 0x1e0]
push eax
mov ecx, dword [ebp - 0x5bc]
push ecx
call dword [ebp - 0xc74]
test eax, eax
jne 0x100d0d25
mov byte [ebp - 0x233], 0
jmp 0x100d0d4d
mov edx, dword [ebp - 0x1cc]
and edx, 1
jne 0x100d0d3d
mov eax, dword [ebp - 0x1cc]
and eax, 0x100
je 0x100d0d46
mov byte [ebp - 0x233], 0
jmp 0x100d0d4d
mov byte [ebp - 0x233], 1
movzx ecx, byte [ebp - 0x233]
test ecx, ecx
je 0x100d0d6c
mov edx, dword [ebp - 0x46c]
add edx, 1
mov dword [ebp - 0x46c], edx
jmp 0x100d0cc0
mov eax, dword [ebp - 0x46c]
mov dword [ebp - 0xc78], eax
mov ecx, dword [ebp - 0xc78]
mov edx, dword [ebp - 0x280]
mov dword [edx + 0xc], ecx
mov eax, dword [ebp - 0x280]
cmp dword [eax + 0xc], 0
jne 0x100d0d9f
mov dword [ebp - 4], 0xffffffff
jmp 0x100d0f26
mov ecx, 1
test ecx, ecx
je 0x100d0dbc
mov edx, dword [ebp - 0x280]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x5c0], eax
jmp 0x100d0dcb
mov ecx, dword [ebp - 0x280]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x5c0], edx
mov eax, dword [ebp - 0x5c0]
push eax
lea ecx, [ebp - 0xc80]
push ecx
call fcn.100d6e90
add esp, 8
mov dword [ebp - 0xc7c], eax
mov edx, dword [ebp - 0xc7c]
push edx
mov ecx, dword [ebp - 0x280]
add ecx, 8
call fcn.100d6f80
lea ecx, [ebp - 0xc80]
call fcn.100d67d0
mov eax, dword [ebp - 0x280]
cmp dword [eax + 8], 0
je 0x100d0e1c
mov byte [ebp - 0x294], 1
jmp 0x100d0e23
mov byte [ebp - 0x294], 0
mov cl, byte [ebp - 0x294]
mov byte [ebp - 0x370], cl
movzx edx, byte [ebp - 0x370]
test edx, edx
jne 0x100d0e46
mov dword [ebp - 4], 0xffffffff
jmp 0x100d0f26
mov eax, dword [ebp - 0x280]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc84], ecx
mov edx, dword [ebp - 0xc84]
mov dword [ebp - 0x40], edx
mov eax, 1
test eax, eax
je 0x100d0eda
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xc88], ecx
mov edx, dword [ebp - 0x280]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x280]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0xc88]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0xc8c], edx
mov eax, dword [ebp - 0xc8c]
add eax, 4
mov dword [ebp - 0xc90], eax
cmp dword [ebp - 0x3f8], 0
jne 0x100d0ec0
jmp 0x100d0ece
mov ecx, dword [ebp - 0x3f8]
mov edx, dword [ebp - 0xc90]
mov dword [ecx], edx
mov eax, dword [ebp - 0x280]
mov byte [eax + 0x10], 1
jmp 0x100d0f1f
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0xc94], ecx
mov edx, dword [ebp - 0x280]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x280]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0xc94]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x3f8], 0
jne 0x100d0f14
jmp 0x100d0f1f
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3f8]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x230]
add eax, 0x110
mov dword [ebp - 0x3fc], eax
mov dword [ebp - 0xc98], 0x100e6900
mov ecx, dword [ebp - 0xc98]
mov dword [ebp - 0xc9c], ecx
mov edx, dword [ebp - 0x3fc]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100d0f6b
mov ecx, 0x43
add ecx, 1
mov dword [ebp - 0x5c4], ecx
jmp 0x100d0f75
mov dword [ebp - 0x5c4], 0x43
mov edx, dword [ebp - 0x5c4]
mov dword [ebp - 0x5c8], edx
mov eax, dword [ebp - 0x3fc]
cmp dword [eax + 4], 0
je 0x100d0fd1
mov ecx, dword [ebp - 0x3fc]
cmp dword [ecx + 8], 0
je 0x100d0fa2
mov byte [ebp - 0x295], 1
jmp 0x100d0fa9
mov byte [ebp - 0x295], 0
mov dl, byte [ebp - 0x295]
mov byte [ebp - 0x36f], dl
movzx eax, byte [ebp - 0x36f]
test eax, eax
je 0x100d0fd1
mov ecx, dword [ebp - 0x3fc]
mov edx, dword [ebp - 0x5c8]
cmp edx, dword [ecx + 0xc]
jbe 0x100d0ffd
mov dword [ebp - 0x5d4], 0
mov eax, dword [ebp - 0x228]
or eax, 0x10000000
mov dword [ebp - 0x228], eax
lea ecx, [ebp - 0x5d4]
mov dword [ebp - 0x1388], ecx
jmp 0x100d116a
mov edx, dword [ebp - 0xc9c]
mov dword [ebp - 0xca0], edx
mov eax, dword [ebp - 0xca0]
mov dword [ebp - 0xcac], eax
mov ecx, dword [ebp - 0x3fc]
add ecx, 8
mov dword [ebp - 0xca4], ecx
mov edx, dword [ebp - 0xca4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x5c8]
lea edx, [eax + ecx*4]
mov dword [ebp - 0xca8], edx
mov eax, dword [ebp - 0xca8]
mov ecx, dword [ebp - 0xcac]
mov dword [eax], ecx
mov edx, 0x43
shl edx, 2
mov eax, dword [ebp - 0x3fc]
add edx, dword [eax + 4]
mov dword [ebp - 0x5cc], edx
mov ecx, dword [ebp - 0x5cc]
cmp dword [ecx], 0
je 0x100d10bd
mov edx, dword [ebp - 0x5cc]
mov eax, dword [edx]
mov dword [ebp - 0xcb0], eax
mov ecx, dword [ebp - 0xcb0]
mov dword [ebp - 0xcb4], ecx
lea edx, [ebp - 0xcb4]
mov dword [ebp - 0xcb8], edx
mov eax, dword [ebp - 0xcb8]
mov dword [ebp - 0xcbc], eax
mov ecx, dword [ebp - 0x228]
or ecx, 0x20000000
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0xcbc]
mov dword [ebp - 0x5d0], edx
jmp 0x100d10fd
mov dword [ebp - 0xcc0], 0
lea eax, [ebp - 0xcc0]
mov dword [ebp - 0xcc4], eax
mov ecx, dword [ebp - 0xcc4]
mov dword [ebp - 0xcc8], ecx
mov edx, dword [ebp - 0x228]
or edx, 0x40000000
mov dword [ebp - 0x228], edx
mov eax, dword [ebp - 0xcc8]
mov dword [ebp - 0x5d0], eax
mov ecx, dword [ebp - 0x5d0]
mov dword [ebp - 0xccc], ecx
mov edx, dword [ebp - 0xccc]
mov eax, dword [edx]
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x228]
or ecx, 0x80000000
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x228]
and edx, 0x40000000
je 0x100d1141
and dword [ebp - 0x228], 0xbfffffff
mov eax, dword [ebp - 0x228]
and eax, 0x20000000
je 0x100d1158
and dword [ebp - 0x228], 0xdfffffff
mov ecx, dword [ebp - 0x228]
or ecx, 0x10000000
mov dword [ebp - 0x228], ecx
mov edx, dword [ebp - 0x230]
add edx, 0x110
mov dword [ebp - 0x400], edx
mov dword [ebp - 0xcd0], 0x100e6a80
mov eax, dword [ebp - 0xcd0]
mov dword [ebp - 0xcd4], eax
mov ecx, dword [ebp - 0x400]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100d11b0
mov eax, 0x52
add eax, 1
mov dword [ebp - 0x5d8], eax
jmp 0x100d11ba
mov dword [ebp - 0x5d8], 0x52
mov ecx, dword [ebp - 0x5d8]
mov dword [ebp - 0x5dc], ecx
mov edx, dword [ebp - 0x400]
cmp dword [edx + 4], 0
je 0x100d1216
mov eax, dword [ebp - 0x400]
cmp dword [eax + 8], 0
je 0x100d11e7
mov byte [ebp - 0x296], 1
jmp 0x100d11ee
mov byte [ebp - 0x296], 0
mov cl, byte [ebp - 0x296]
mov byte [ebp - 0x36e], cl
movzx edx, byte [ebp - 0x36e]
test edx, edx
je 0x100d1216
mov eax, dword [ebp - 0x400]
mov ecx, dword [ebp - 0x5dc]
cmp ecx, dword [eax + 0xc]
jbe 0x100d1240
mov dword [ebp - 0x5e8], 0
mov edx, dword [ebp - 0x22c]
or edx, 1
mov dword [ebp - 0x22c], edx
lea eax, [ebp - 0x5e8]
mov dword [ebp - 0x138c], eax
jmp 0x100d1396
mov ecx, dword [ebp - 0xcd4]
mov dword [ebp - 0xcd8], ecx
mov edx, dword [ebp - 0xcd8]
mov dword [ebp - 0xce4], edx
mov eax, dword [ebp - 0x400]
add eax, 8
mov dword [ebp - 0xcdc], eax
mov ecx, dword [ebp - 0xcdc]
mov edx, dword [ecx]
mov eax, dword [ebp - 0x5dc]
lea ecx, [edx + eax*4]
mov dword [ebp - 0xce0], ecx
mov edx, dword [ebp - 0xce0]
mov eax, dword [ebp - 0xce4]
mov dword [edx], eax
mov ecx, 0x52
shl ecx, 2
mov edx, dword [ebp - 0x400]
add ecx, dword [edx + 4]
mov dword [ebp - 0x5e0], ecx
mov eax, dword [ebp - 0x5e0]
cmp dword [eax], 0
je 0x100d12fd
mov ecx, dword [ebp - 0x5e0]
mov edx, dword [ecx]
mov dword [ebp - 0xce8], edx
mov eax, dword [ebp - 0xce8]
mov dword [ebp - 0xcec], eax
lea ecx, [ebp - 0xcec]
mov dword [ebp - 0xcf0], ecx
mov edx, dword [ebp - 0xcf0]
mov dword [ebp - 0xcf4], edx
mov eax, dword [ebp - 0x22c]
or eax, 2
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0xcf4]
mov dword [ebp - 0x5e4], ecx
jmp 0x100d133a
mov dword [ebp - 0xcf8], 0
lea edx, [ebp - 0xcf8]
mov dword [ebp - 0xcfc], edx
mov eax, dword [ebp - 0xcfc]
mov dword [ebp - 0xd00], eax
mov ecx, dword [ebp - 0x22c]
or ecx, 4
mov dword [ebp - 0x22c], ecx
mov edx, dword [ebp - 0xd00]
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x5e4]
mov dword [ebp - 0xd04], eax
mov ecx, dword [ebp - 0xd04]
mov edx, dword [ecx]
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x22c]
or eax, 8
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
and ecx, 4
je 0x100d1375
and dword [ebp - 0x22c], 0xfffffffb
mov edx, dword [ebp - 0x22c]
and edx, 2
je 0x100d1387
and dword [ebp - 0x22c], 0xfffffffd
mov eax, dword [ebp - 0x22c]
or eax, 1
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x230]
add ecx, 0x110
mov dword [ebp - 0x404], ecx
mov dword [ebp - 0xd08], 0x100e6ae0
mov edx, dword [ebp - 0xd08]
mov dword [ebp - 0xd0c], edx
mov eax, dword [ebp - 0x404]
movzx ecx, byte [eax + 0x10]
test ecx, ecx
je 0x100d13dc
mov edx, 0x74
add edx, 1
mov dword [ebp - 0x5ec], edx
jmp 0x100d13e6
mov dword [ebp - 0x5ec], 0x74
mov eax, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], eax
mov ecx, dword [ebp - 0x404]
cmp dword [ecx + 4], 0
je 0x100d1442
mov edx, dword [ebp - 0x404]
cmp dword [edx + 8], 0
je 0x100d1413
mov byte [ebp - 0x297], 1
jmp 0x100d141a
mov byte [ebp - 0x297], 0
mov al, byte [ebp - 0x297]
mov byte [ebp - 0x36d], al
movzx ecx, byte [ebp - 0x36d]
test ecx, ecx
je 0x100d1442
mov edx, dword [ebp - 0x404]
mov eax, dword [ebp - 0x5f0]
cmp eax, dword [edx + 0xc]
jbe 0x100d146c
mov dword [ebp - 0x5fc], 0
mov ecx, dword [ebp - 0x22c]
or ecx, 0x10
mov dword [ebp - 0x22c], ecx
lea edx, [ebp - 0x5fc]
mov dword [ebp - 0x1390], edx
jmp 0x100d15c5
mov eax, dword [ebp - 0xd0c]
mov dword [ebp - 0xd10], eax
mov ecx, dword [ebp - 0xd10]
mov dword [ebp - 0xd1c], ecx
mov edx, dword [ebp - 0x404]
add edx, 8
mov dword [ebp - 0xd14], edx
mov eax, dword [ebp - 0xd14]
mov ecx, dword [eax]
mov edx, dword [ebp - 0x5f0]
lea eax, [ecx + edx*4]
mov dword [ebp - 0xd18], eax
mov ecx, dword [ebp - 0xd18]
mov edx, dword [ebp - 0xd1c]
mov dword [ecx], edx
mov eax, 0x74
shl eax, 2
mov ecx, dword [ebp - 0x404]
add eax, dword [ecx + 4]
mov dword [ebp - 0x5f4], eax
mov edx, dword [ebp - 0x5f4]
cmp dword [edx], 0
je 0x100d1529
mov eax, dword [ebp - 0x230]
add eax, 0x160
mov dword [ebp - 0x27c], eax
mov ecx, dword [0x101b2ba0]
mov dword [ebp - 0xd40], ecx
lea edx, [ebp - 0x408]
mov dword [ebp - 0x600], edx
mov eax, dword [ebp - 0x600]
mov ecx, dword [ebp - 0xd40]
mov dword [eax], ecx
mov edx, dword [ebp - 0x600]
mov dword [ebp - 0xd44], edx
mov eax, dword [ebp - 0xd44]
mov dword [ebp - 0x1394], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x27c]
mov edx, dword [ebp - 0x408]
mov dword [ecx], edx
mov eax, dword [ebp - 0x408]
mov ecx, dword [eax]
mov dword [ebp - 0xd48], ecx
mov edx, dword [ebp - 0xd48]
mov eax, dword [ebp - 0x27c]
mov dword [eax + 4], edx
mov ecx, dword [ebp - 0x27c]
cmp dword [ecx + 4], 0
jne 0x100d165e
mov dword [ebp - 4], 0xffffffff
jmp 0x100d18cf
mov dword [ebp - 0x438], 0
mov edx, dword [ebp - 0x27c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x438]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xd4c], edx
mov eax, dword [ebp - 0xd4c]
mov dword [ebp - 0x604], eax
cmp dword [ebp - 0x604], 0
jne 0x100d169e
mov byte [ebp - 0x234], 0
jmp 0x100d16f6
mov ecx, dword [0x10149914]
mov dword [ebp - 0xd50], ecx
push 0x1c
lea edx, [ebp - 0x1c4]
push edx
mov eax, dword [ebp - 0x604]
push eax
call dword [ebp - 0xd50]
test eax, eax
jne 0x100d16cd
mov edx, dword [ebp - 0x230]
add edx, 0x160
mov dword [ebp - 0x40c], edx
mov dword [ebp - 0xd74], 0x100bfd50
mov eax, dword [ebp - 0xd74]
mov dword [ebp - 0xd78], eax
mov ecx, dword [ebp - 0x40c]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100d1915