Function at 0x10098ad0
Capabilities:
Inspect section memory permissions
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ceb9f
mov eax, dword fs:[0]
push eax
sub esp, 0xf04
mov eax, dword [0x100e7008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x20c], ecx
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x1fc], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x208], 0
movzx eax, byte [0x101b1b7c]
test eax, eax
jne 0x10098b41
push 0
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_exit]
jmp 0x1009f5bb
mov ecx, dword [0x101cf464]
mov dword [ebp - 0xd34], ecx
mov dword [ebp - 0xad4], 0x100c47b0
mov edx, dword [ebp - 0xad4]
mov dword [ebp - 0xd1c], edx
mov eax, dword [0x101d01ec]
mov ecx, dword [eax + 8]
mov dword [ebp - 0xd24], ecx
mov edx, dword [ebp - 0xd1c]
push edx
push 0xfffffffffffffffc
mov eax, dword [ebp - 0xd24]
push eax
call dword [ebp - 0xd34]
mov ecx, dword [ebp - 0x20c]
mov dword [ecx + 0x180], eax
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x234], edx
mov eax, dword [0x101d0184]
mov dword [ebp - 0xd3c], eax
lea ecx, [ebp - 0x26c]
mov dword [ebp - 0x50c], ecx
mov edx, dword [ebp - 0x50c]
mov eax, dword [ebp - 0xd3c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0xd90], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x26c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x26c]
mov edx, dword [ecx]
mov dword [ebp - 0xd44], edx
mov eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0xd44]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x234]
cmp dword [edx + 4], 0
jne 0x10098c1a
mov dword [ebp - 4], 0xffffffff
jmp 0x10098e4c
mov dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x32c]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x600], eax
cmp dword [ebp - 0x600], 0
jne 0x10098c4e
mov byte [ebp - 0x21a], 0
jmp 0x10098c9d
mov ecx, dword [0x101cf460]
mov dword [ebp - 0xd48], ecx
push 0x1c
lea edx, [ebp - 0x74]
push edx
mov eax, dword [ebp - 0x600]
push eax
call dword [ebp - 0xd48]
test eax, eax
jne 0x10098c7a
mov byte [ebp - 0x21a], 0
jmp 0x10098c9d
mov ecx, dword [ebp - 0x60]
and ecx, 1
jne 0x10098c8d
mov edx, dword [ebp - 0x60]
and edx, 0x100
je 0x10098c96
mov byte [ebp - 0x21a], 0
jmp 0x10098c9d
mov byte [ebp - 0x21a], 1
movzx eax, byte [ebp - 0x21a]
test eax, eax
je 0x10098cbc
mov ecx, dword [ebp - 0x32c]
add ecx, 1
mov dword [ebp - 0x32c], ecx
jmp 0x10098c24
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x32c]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x234]
cmp dword [ecx + 0xc], 0
jne 0x10098ce3
mov dword [ebp - 4], 0xffffffff
jmp 0x10098e4c
mov edx, 1
test edx, edx
je 0x10098d00
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov dword [ebp - 0x604], ecx
jmp 0x10098d0f
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x604], eax
mov edx, dword [ebp - 0x604]
lea ecx, [ebp - 0xd50]
call fcn.10042100
mov dword [ebp - 0xd4c], eax
mov ecx, dword [ebp - 0xd4c]
push ecx
mov ecx, dword [ebp - 0x234]
add ecx, 8
call fcn.100419a0
lea ecx, [ebp - 0xd50]
call fcn.10041930
mov ecx, dword [ebp - 0x234]
add ecx, 8
call fcn.10041900
movzx edx, al
test edx, edx
jne 0x10098d67
mov dword [ebp - 4], 0xffffffff
jmp 0x10098e4c
mov ecx, dword [ebp - 0x234]
add ecx, 8
call fcn.10041910
mov dword [ebp - 0xd54], eax
mov eax, dword [ebp - 0xd54]
mov dword [ebp - 0x2c], eax
mov ecx, 1
test ecx, ecx
je 0x10098e00
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0xd58], edx
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
push edx
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 4]
sub ecx, 4
push ecx
mov edx, dword [ebp - 0xd58]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xd5c], eax
mov ecx, dword [ebp - 0xd5c]
add ecx, 4
mov dword [ebp - 0xd60], ecx
cmp dword [ebp - 0x26c], 0
jne 0x10098de6
jmp 0x10098df4
mov edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0xd60]
mov dword [edx], eax
mov ecx, dword [ebp - 0x234]
mov byte [ecx + 0x10], 1
jmp 0x10098e45
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0xd64], edx
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax + 0xc]
shl ecx, 2
push ecx
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xd64]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x26c], 0
jne 0x10098e3a
jmp 0x10098e45
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x26c]
mov dword [eax], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x270], ecx
mov dword [ebp - 0xd68], 0x100b1070
mov edx, dword [ebp - 0x270]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10098e80
mov ecx, 0x29
add ecx, 1
mov dword [ebp - 0x608], ecx
jmp 0x10098e8a
mov dword [ebp - 0x608], 0x29
mov edx, dword [ebp - 0x608]
mov dword [ebp - 0x60c], edx
mov eax, dword [ebp - 0x270]
cmp dword [eax + 4], 0
je 0x10098ec8
mov ecx, dword [ebp - 0x270]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x10098ec8
mov edx, dword [ebp - 0x270]
mov eax, dword [ebp - 0x60c]
cmp eax, dword [edx + 0xc]
jbe 0x10098ef2
mov dword [ebp - 0x370], 0
mov ecx, dword [ebp - 0x204]
or ecx, 1
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x370]
mov dword [ebp - 0x660], edx
jmp 0x1009903f
mov eax, dword [ebp - 0xd68]
mov dword [ebp - 0xd6c], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0xd6c]
mov dword [ebp - 0xd74], ecx
mov edx, dword [ebp - 0x270]
add edx, 8
mov dword [ebp - 0xd70], edx
mov eax, dword [ebp - 0x60c]
push eax
mov ecx, dword [ebp - 0xd70]
call fcn.10041920
mov ecx, dword [ebp - 0xd74]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x29
shl edx, 2
mov eax, dword [ebp - 0x270]
add edx, dword [eax + 4]
mov dword [ebp - 0x610], edx
mov ecx, dword [ebp - 0x610]
cmp dword [ecx], 0
je 0x10098fa6
mov edx, dword [ebp - 0x610]
mov eax, dword [edx]
mov dword [ebp - 0xd78], eax
mov ecx, dword [ebp - 0xd78]
mov dword [ebp - 0xd7c], ecx
lea edx, [ebp - 0xd7c]
mov dword [ebp - 0x650], edx
mov eax, dword [ebp - 0x204]
or eax, 2
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x650]
mov dword [ebp - 0x614], ecx
jmp 0x10098fd7
mov dword [ebp - 0x654], 0
lea edx, [ebp - 0x654]
mov dword [ebp - 0x658], edx
mov eax, dword [ebp - 0x204]
or eax, 4
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x658]
mov dword [ebp - 0x614], ecx
mov edx, dword [ebp - 0x614]
mov dword [ebp - 0x65c], edx
mov eax, dword [ebp - 0x65c]
mov ecx, dword [eax]
mov dword [ebp - 0x370], ecx
mov edx, dword [ebp - 0x204]
or edx, 8
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 4
je 0x10099012
and dword [ebp - 0x204], 0xfffffffb
mov ecx, dword [ebp - 0x204]
and ecx, 2
je 0x10099024
and dword [ebp - 0x204], 0xfffffffd
mov edx, dword [ebp - 0x204]
or edx, 1
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x370]
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x28
mov dword [ebp - 0x238], ecx
mov edx, dword [0x101d016c]
mov dword [ebp - 0x664], edx
lea eax, [ebp - 0x274]
mov dword [ebp - 0x618], eax
mov ecx, dword [ebp - 0x618]
mov edx, dword [ebp - 0x664]
mov dword [ecx], edx
mov eax, dword [ebp - 0x618]
mov dword [ebp - 0xd94], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x274]
mov dword [ecx], edx
mov eax, dword [ebp - 0x274]
mov ecx, dword [eax]
mov dword [ebp - 0x668], ecx
mov edx, dword [ebp - 0x238]
mov eax, dword [ebp - 0x668]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x238]
cmp dword [ecx + 4], 0
jne 0x100990ca
mov dword [ebp - 4], 0xffffffff
jmp 0x10099304
mov dword [ebp - 0x330], 0
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x330]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x61c], edx
cmp dword [ebp - 0x61c], 0
jne 0x100990fe
mov byte [ebp - 0x20d], 0
jmp 0x10099155
mov eax, dword [0x101cf460]
mov dword [ebp - 0x66c], eax
push 0x1c
lea ecx, [ebp - 0x1e0]
push ecx
mov edx, dword [ebp - 0x61c]
push edx
call dword [ebp - 0x66c]
test eax, eax
jne 0x1009912c
mov byte [ebp - 0x20d], 0
jmp 0x10099155
mov eax, dword [ebp - 0x1cc]
and eax, 1
jne 0x10099145
mov ecx, dword [ebp - 0x1cc]
and ecx, 0x100
je 0x1009914e
mov byte [ebp - 0x20d], 0
jmp 0x10099155
mov byte [ebp - 0x20d], 1
movzx edx, byte [ebp - 0x20d]
test edx, edx
je 0x10099174
mov eax, dword [ebp - 0x330]
add eax, 1
mov dword [ebp - 0x330], eax
jmp 0x100990d4
mov ecx, dword [ebp - 0x238]
mov edx, dword [ebp - 0x330]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x238]
cmp dword [eax + 0xc], 0
jne 0x1009919b
mov dword [ebp - 4], 0xffffffff
jmp 0x10099304
mov ecx, 1
test ecx, ecx
je 0x100991b8
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x620], eax
jmp 0x100991c7
mov ecx, dword [ebp - 0x238]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x620], edx
mov edx, dword [ebp - 0x620]
lea ecx, [ebp - 0x674]
call fcn.10042100
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x670]
push eax
mov ecx, dword [ebp - 0x238]
add ecx, 8
call fcn.100419a0
lea ecx, [ebp - 0x674]
call fcn.10041930
mov ecx, dword [ebp - 0x238]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
jne 0x1009921f
mov dword [ebp - 4], 0xffffffff
jmp 0x10099304
mov ecx, dword [ebp - 0x238]
add ecx, 8
call fcn.10041910
mov dword [ebp - 0x678], eax
mov edx, dword [ebp - 0x678]
mov dword [ebp - 0x28], edx
mov eax, 1
test eax, eax
je 0x100992b8
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x67c], ecx
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0x67c]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0x680], edx
mov eax, dword [ebp - 0x680]
add eax, 4
mov dword [ebp - 0x684], eax
cmp dword [ebp - 0x274], 0
jne 0x1009929e
jmp 0x100992ac
mov ecx, dword [ebp - 0x274]
mov edx, dword [ebp - 0x684]
mov dword [ecx], edx
mov eax, dword [ebp - 0x238]
mov byte [eax + 0x10], 1
jmp 0x100992fd
mov ecx, dword [ebp - 0x28]
mov dword [ebp - 0x688], ecx
mov edx, dword [ebp - 0x238]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x238]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x688]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x274], 0
jne 0x100992f2
jmp 0x100992fd
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x274]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x28
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x68c], 0x100a36a0
mov ecx, dword [ebp - 0x278]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1009933b
mov eax, 5
add eax, 1
mov dword [ebp - 0x624], eax
jmp 0x10099345
mov dword [ebp - 0x624], 5
mov ecx, dword [ebp - 0x624]
mov dword [ebp - 0x628], ecx
mov edx, dword [ebp - 0x278]
cmp dword [edx + 4], 0
je 0x10099383
mov ecx, dword [ebp - 0x278]
add ecx, 8
call fcn.10041900
movzx eax, al
test eax, eax
je 0x10099383
mov ecx, dword [ebp - 0x278]
mov edx, dword [ebp - 0x628]
cmp edx, dword [ecx + 0xc]
jbe 0x100993ad
mov dword [ebp - 0x374], 0
mov eax, dword [ebp - 0x204]
or eax, 0x10
mov dword [ebp - 0x204], eax
lea ecx, [ebp - 0x374]
mov dword [ebp - 0x6b4], ecx
jmp 0x100994fd
mov edx, dword [ebp - 0x68c]
mov dword [ebp - 0x690], edx
mov dword [ebp - 4], 3
mov eax, dword [ebp - 0x690]
mov dword [ebp - 0x698], eax
mov ecx, dword [ebp - 0x278]
add ecx, 8
mov dword [ebp - 0x694], ecx
mov edx, dword [ebp - 0x628]
push edx
mov ecx, dword [ebp - 0x694]
call fcn.10041920
mov ecx, dword [ebp - 0x698]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 5
shl edx, 2
mov eax, dword [ebp - 0x278]
add edx, dword [eax + 4]
mov dword [ebp - 0x62c], edx
mov ecx, dword [ebp - 0x62c]
cmp dword [ecx], 0
je 0x10099461
mov edx, dword [ebp - 0x62c]
mov eax, dword [edx]
mov dword [ebp - 0x69c], eax
mov ecx, dword [ebp - 0x69c]
mov dword [ebp - 0x6a0], ecx
lea edx, [ebp - 0x6a0]
mov dword [ebp - 0x6a4], edx
mov eax, dword [ebp - 0x204]
or eax, 0x20
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x6a4]
mov dword [ebp - 0x630], ecx
jmp 0x10099492
mov dword [ebp - 0x6a8], 0
lea edx, [ebp - 0x6a8]
mov dword [ebp - 0x6ac], edx
mov eax, dword [ebp - 0x204]
or eax, 0x40
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x6ac]
mov dword [ebp - 0x630], ecx
mov edx, dword [ebp - 0x630]
mov dword [ebp - 0x6b0], edx
mov eax, dword [ebp - 0x6b0]
mov ecx, dword [eax]
mov dword [ebp - 0x374], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x80
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x40
je 0x100994d0
and dword [ebp - 0x204], 0xffffffbf
mov ecx, dword [ebp - 0x204]
and ecx, 0x20
je 0x100994e2
and dword [ebp - 0x204], 0xffffffdf
mov edx, dword [ebp - 0x204]
or edx, 0x10
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x374]
mov dword [ebp - 0x6b4], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x28
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x6b8], 0x100a3760
mov edx, dword [ebp - 0x27c]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10099534
mov ecx, 6
add ecx, 1
mov dword [ebp - 0x634], ecx
jmp 0x1009953e
mov dword [ebp - 0x634], 6
mov edx, dword [ebp - 0x634]
mov dword [ebp - 0x638], edx
mov eax, dword [ebp - 0x27c]
cmp dword [eax + 4], 0
je 0x1009957c
mov ecx, dword [ebp - 0x27c]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009957c
mov edx, dword [ebp - 0x27c]
mov eax, dword [ebp - 0x638]
cmp eax, dword [edx + 0xc]
jbe 0x100995a9
mov dword [ebp - 0x378], 0
mov ecx, dword [ebp - 0x204]
or ecx, 0x100
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x378]
mov dword [ebp - 0x6e0], edx
jmp 0x1009970b
mov eax, dword [ebp - 0x6b8]
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x6bc]
mov dword [ebp - 0x6c4], ecx
mov edx, dword [ebp - 0x27c]
add edx, 8
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x638]
push eax
mov ecx, dword [ebp - 0x6c0]
call fcn.10041920
mov ecx, dword [ebp - 0x6c4]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 6
shl edx, 2
mov eax, dword [ebp - 0x27c]
add edx, dword [eax + 4]
mov dword [ebp - 0x63c], edx
mov ecx, dword [ebp - 0x63c]
cmp dword [ecx], 0
je 0x1009965f
mov edx, dword [ebp - 0x63c]
mov eax, dword [edx]
mov dword [ebp - 0x6c8], eax
mov ecx, dword [ebp - 0x6c8]
mov dword [ebp - 0x6cc], ecx
lea edx, [ebp - 0x6cc]
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp - 0x204]
or eax, 0x200
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x6d0]
mov dword [ebp - 0x640], ecx
jmp 0x10099692
mov dword [ebp - 0x6d4], 0
lea edx, [ebp - 0x6d4]
mov dword [ebp - 0x6d8], edx
mov eax, dword [ebp - 0x204]
or eax, 0x400
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x6d8]
mov dword [ebp - 0x640], ecx
mov edx, dword [ebp - 0x640]
mov dword [ebp - 0x6dc], edx
mov eax, dword [ebp - 0x6dc]
mov ecx, dword [eax]
mov dword [ebp - 0x378], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x800
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x400
je 0x100996d5
and dword [ebp - 0x204], 0xfffffbff
mov ecx, dword [ebp - 0x204]
and ecx, 0x200
je 0x100996ed
and dword [ebp - 0x204], 0xfffffdff
mov edx, dword [ebp - 0x204]
or edx, 0x100
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x378]
mov dword [ebp - 0x6e0], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x28
mov dword [ebp - 0x268], ecx
mov dword [ebp - 0x6e4], 0x100a3790
mov edx, dword [ebp - 0x268]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10099742
mov ecx, 7
add ecx, 1
mov dword [ebp - 0x644], ecx
jmp 0x1009974c
mov dword [ebp - 0x644], 7
mov edx, dword [ebp - 0x644]
mov dword [ebp - 0x648], edx
mov eax, dword [ebp - 0x268]
cmp dword [eax + 4], 0
je 0x1009978a
mov ecx, dword [ebp - 0x268]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009978a
mov edx, dword [ebp - 0x268]
mov eax, dword [ebp - 0x648]
cmp eax, dword [edx + 0xc]
jbe 0x100997b7
mov dword [ebp - 0x37c], 0
mov ecx, dword [ebp - 0x204]
or ecx, 0x1000
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x37c]
mov dword [ebp - 0x70c], edx
jmp 0x10099919
mov eax, dword [ebp - 0x6e4]
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x6e8]
mov dword [ebp - 0x6f0], ecx
mov edx, dword [ebp - 0x268]
add edx, 8
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x648]
push eax
mov ecx, dword [ebp - 0x6ec]
call fcn.10041920
mov ecx, dword [ebp - 0x6f0]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 7
shl edx, 2
mov eax, dword [ebp - 0x268]
add edx, dword [eax + 4]
mov dword [ebp - 0x3b4], edx
mov ecx, dword [ebp - 0x3b4]
cmp dword [ecx], 0
je 0x1009986d
mov edx, dword [ebp - 0x3b4]
mov eax, dword [edx]
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x6f4]
mov dword [ebp - 0x6f8], ecx
lea edx, [ebp - 0x6f8]
mov dword [ebp - 0x6fc], edx
mov eax, dword [ebp - 0x204]
or eax, 0x2000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x3b8], ecx
jmp 0x100998a0
mov dword [ebp - 0x700], 0
lea edx, [ebp - 0x700]
mov dword [ebp - 0x704], edx
mov eax, dword [ebp - 0x204]
or eax, 0x4000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x704]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x3b8]
mov dword [ebp - 0x708], edx
mov eax, dword [ebp - 0x708]
mov ecx, dword [eax]
mov dword [ebp - 0x37c], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x8000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x4000
je 0x100998e3
and dword [ebp - 0x204], 0xffffbfff
mov ecx, dword [ebp - 0x204]
and ecx, 0x2000
je 0x100998fb
and dword [ebp - 0x204], 0xffffdfff
mov edx, dword [ebp - 0x204]
or edx, 0x1000
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x70c], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x28
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x710], 0x100a3810
mov edx, dword [ebp - 0x284]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10099950
mov ecx, 0x24
add ecx, 1
mov dword [ebp - 0x3bc], ecx
jmp 0x1009995a
mov dword [ebp - 0x3bc], 0x24
mov edx, dword [ebp - 0x3bc]
mov dword [ebp - 0x3c0], edx
mov eax, dword [ebp - 0x284]
cmp dword [eax + 4], 0
je 0x10099998
mov ecx, dword [ebp - 0x284]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x10099998
mov edx, dword [ebp - 0x284]
mov eax, dword [ebp - 0x3c0]
cmp eax, dword [edx + 0xc]
jbe 0x100999c5
mov dword [ebp - 0x384], 0
mov ecx, dword [ebp - 0x204]
or ecx, 0x10000
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x384]
mov dword [ebp - 0x738], edx
jmp 0x10099b27
mov eax, dword [ebp - 0x710]
mov dword [ebp - 0x714], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x714]
mov dword [ebp - 0x71c], ecx
mov edx, dword [ebp - 0x284]
add edx, 8
mov dword [ebp - 0x718], edx
mov eax, dword [ebp - 0x3c0]
push eax
mov ecx, dword [ebp - 0x718]
call fcn.10041920
mov ecx, dword [ebp - 0x71c]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x24
shl edx, 2
mov eax, dword [ebp - 0x284]
add edx, dword [eax + 4]
mov dword [ebp - 0x3c4], edx
mov ecx, dword [ebp - 0x3c4]
cmp dword [ecx], 0
je 0x10099a7b
mov edx, dword [ebp - 0x3c4]
mov eax, dword [edx]
mov dword [ebp - 0x720], eax
mov ecx, dword [ebp - 0x720]
mov dword [ebp - 0x724], ecx
lea edx, [ebp - 0x724]
mov dword [ebp - 0x728], edx
mov eax, dword [ebp - 0x204]
or eax, 0x20000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x728]
mov dword [ebp - 0x3c8], ecx
jmp 0x10099aae
mov dword [ebp - 0x72c], 0
lea edx, [ebp - 0x72c]
mov dword [ebp - 0x730], edx
mov eax, dword [ebp - 0x204]
or eax, 0x40000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x730]
mov dword [ebp - 0x3c8], ecx
mov edx, dword [ebp - 0x3c8]
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x734]
mov ecx, dword [eax]
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x80000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x40000
je 0x10099af1
and dword [ebp - 0x204], 0xfffbffff
mov ecx, dword [ebp - 0x204]
and ecx, 0x20000
je 0x10099b09
and dword [ebp - 0x204], 0xfffdffff
mov edx, dword [ebp - 0x204]
or edx, 0x10000
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x384]
mov dword [ebp - 0x738], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x50
mov dword [ebp - 0x23c], ecx
mov edx, dword [0x101d0174]
mov dword [ebp - 0x73c], edx
lea eax, [ebp - 0x2fc]
mov dword [ebp - 0x3cc], eax
mov ecx, dword [ebp - 0x3cc]
mov edx, dword [ebp - 0x73c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x3cc]
mov dword [ebp - 0xdc8], eax
mov dword [ebp - 4], 7
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x2fc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2fc]
mov ecx, dword [eax]
mov dword [ebp - 0x740], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x740]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 4], 0
jne 0x10099bb2
mov dword [ebp - 4], 0xffffffff
jmp 0x10099dec
mov dword [ebp - 0x334], 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x334]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x3d0], edx
cmp dword [ebp - 0x3d0], 0
jne 0x10099be6
mov byte [ebp - 0x20e], 0
jmp 0x10099c3d
mov eax, dword [0x101cf460]
mov dword [ebp - 0x744], eax
push 0x1c
lea ecx, [ebp - 0x1c4]
push ecx
mov edx, dword [ebp - 0x3d0]
push edx
call dword [ebp - 0x744]
test eax, eax
jne 0x10099c14
mov byte [ebp - 0x20e], 0
jmp 0x10099c3d
mov eax, dword [ebp - 0x1b0]
and eax, 1
jne 0x10099c2d
mov ecx, dword [ebp - 0x1b0]
and ecx, 0x100
je 0x10099c36
mov byte [ebp - 0x20e], 0
jmp 0x10099c3d
mov byte [ebp - 0x20e], 1
movzx edx, byte [ebp - 0x20e]
test edx, edx
je 0x10099c5c
mov eax, dword [ebp - 0x334]
add eax, 1
mov dword [ebp - 0x334], eax
jmp 0x10099bbc
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x334]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0xc], 0
jne 0x10099c83
mov dword [ebp - 4], 0xffffffff
jmp 0x10099dec
mov ecx, 1
test ecx, ecx
je 0x10099ca0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x3d4], eax
jmp 0x10099caf
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x3d4], edx
mov edx, dword [ebp - 0x3d4]
lea ecx, [ebp - 0x74c]
call fcn.10042100
mov dword [ebp - 0x748], eax
mov eax, dword [ebp - 0x748]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 8
call fcn.100419a0
lea ecx, [ebp - 0x74c]
call fcn.10041930
mov ecx, dword [ebp - 0x23c]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
jne 0x10099d07
mov dword [ebp - 4], 0xffffffff
jmp 0x10099dec
mov ecx, dword [ebp - 0x23c]
add ecx, 8
call fcn.10041910
mov dword [ebp - 0x750], eax
mov edx, dword [ebp - 0x750]
mov dword [ebp - 0x24], edx
mov eax, 1
test eax, eax
je 0x10099da0
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x754], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0x754]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x758]
add eax, 4
mov dword [ebp - 0x75c], eax
cmp dword [ebp - 0x2fc], 0
jne 0x10099d86
jmp 0x10099d94
mov ecx, dword [ebp - 0x2fc]
mov edx, dword [ebp - 0x75c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x23c]
mov byte [eax + 0x10], 1
jmp 0x10099de5
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x760]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2fc], 0
jne 0x10099dda
jmp 0x10099de5
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2fc]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x50
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x764], 0x100a2310
mov ecx, dword [ebp - 0x2f8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10099e23
mov eax, 0x1b
add eax, 1
mov dword [ebp - 0x3d8], eax
jmp 0x10099e2d
mov dword [ebp - 0x3d8], 0x1b
mov ecx, dword [ebp - 0x3d8]
mov dword [ebp - 0x3dc], ecx
mov edx, dword [ebp - 0x2f8]
cmp dword [edx + 4], 0
je 0x10099e6b
mov ecx, dword [ebp - 0x2f8]
add ecx, 8
call fcn.10041900
movzx eax, al
test eax, eax
je 0x10099e6b
mov ecx, dword [ebp - 0x2f8]
mov edx, dword [ebp - 0x3dc]
cmp edx, dword [ecx + 0xc]
jbe 0x10099e97
mov dword [ebp - 0x388], 0
mov eax, dword [ebp - 0x204]
or eax, 0x100000
mov dword [ebp - 0x204], eax
lea ecx, [ebp - 0x388]
mov dword [ebp - 0x78c], ecx
jmp 0x10099ff9
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x768], edx
mov dword [ebp - 4], 8
mov eax, dword [ebp - 0x768]
mov dword [ebp - 0x770], eax
mov ecx, dword [ebp - 0x2f8]
add ecx, 8
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x3dc]
push edx
mov ecx, dword [ebp - 0x76c]
call fcn.10041920
mov ecx, dword [ebp - 0x770]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x1b
shl edx, 2
mov eax, dword [ebp - 0x2f8]
add edx, dword [eax + 4]
mov dword [ebp - 0x3e0], edx
mov ecx, dword [ebp - 0x3e0]
cmp dword [ecx], 0
je 0x10099f4d
mov edx, dword [ebp - 0x3e0]
mov eax, dword [edx]
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x778], ecx
lea edx, [ebp - 0x778]
mov dword [ebp - 0x77c], edx
mov eax, dword [ebp - 0x204]
or eax, 0x200000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x77c]
mov dword [ebp - 0x3e4], ecx
jmp 0x10099f80
mov dword [ebp - 0x780], 0
lea edx, [ebp - 0x780]
mov dword [ebp - 0x784], edx
mov eax, dword [ebp - 0x204]
or eax, 0x400000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x784]
mov dword [ebp - 0x3e4], ecx
mov edx, dword [ebp - 0x3e4]
mov dword [ebp - 0x788], edx
mov eax, dword [ebp - 0x788]
mov ecx, dword [eax]
mov dword [ebp - 0x388], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x800000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x400000
je 0x10099fc3
and dword [ebp - 0x204], 0xffbfffff
mov ecx, dword [ebp - 0x204]
and ecx, 0x200000
je 0x10099fdb
and dword [ebp - 0x204], 0xffdfffff
mov edx, dword [ebp - 0x204]
or edx, 0x100000
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x388]
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x50
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x790], 0x100a2450
mov edx, dword [ebp - 0x2f4]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009a030
mov ecx, 0x5d
add ecx, 1
mov dword [ebp - 0x3e8], ecx
jmp 0x1009a03a
mov dword [ebp - 0x3e8], 0x5d
mov edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x2f4]
cmp dword [eax + 4], 0
je 0x1009a078
mov ecx, dword [ebp - 0x2f4]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009a078
mov edx, dword [ebp - 0x2f4]
mov eax, dword [ebp - 0x3ec]
cmp eax, dword [edx + 0xc]
jbe 0x1009a0a5
mov dword [ebp - 0x38c], 0
mov ecx, dword [ebp - 0x204]
or ecx, 0x1000000
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x38c]
mov dword [ebp - 0x7b8], edx
jmp 0x1009a207
mov eax, dword [ebp - 0x790]
mov dword [ebp - 0x794], eax
mov dword [ebp - 4], 9
mov ecx, dword [ebp - 0x794]
mov dword [ebp - 0x79c], ecx
mov edx, dword [ebp - 0x2f4]
add edx, 8
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x3ec]
push eax
mov ecx, dword [ebp - 0x798]
call fcn.10041920
mov ecx, dword [ebp - 0x79c]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x5d
shl edx, 2
mov eax, dword [ebp - 0x2f4]
add edx, dword [eax + 4]
mov dword [ebp - 0x3f0], edx
mov ecx, dword [ebp - 0x3f0]
cmp dword [ecx], 0
je 0x1009a15b
mov edx, dword [ebp - 0x3f0]
mov eax, dword [edx]
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x7a4], ecx
lea edx, [ebp - 0x7a4]
mov dword [ebp - 0x7a8], edx
mov eax, dword [ebp - 0x204]
or eax, 0x2000000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x3f4], ecx
jmp 0x1009a18e
mov dword [ebp - 0x7ac], 0
lea edx, [ebp - 0x7ac]
mov dword [ebp - 0x7b0], edx
mov eax, dword [ebp - 0x204]
or eax, 0x4000000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x7b0]
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3f4]
mov dword [ebp - 0x7b4], edx
mov eax, dword [ebp - 0x7b4]
mov ecx, dword [eax]
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x8000000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x4000000
je 0x1009a1d1
and dword [ebp - 0x204], 0xfbffffff
mov ecx, dword [ebp - 0x204]
and ecx, 0x2000000
je 0x1009a1e9
and dword [ebp - 0x204], 0xfdffffff
mov edx, dword [ebp - 0x204]
or edx, 0x1000000
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x38c]
mov dword [ebp - 0x7b8], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x50
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x7bc], 0x100a2660
mov edx, dword [ebp - 0x2f0]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009a23e
mov ecx, 0x5a
add ecx, 1
mov dword [ebp - 0x3f8], ecx
jmp 0x1009a248
mov dword [ebp - 0x3f8], 0x5a
mov edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x3fc], edx
mov eax, dword [ebp - 0x2f0]
cmp dword [eax + 4], 0
je 0x1009a286
mov ecx, dword [ebp - 0x2f0]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009a286
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x3fc]
cmp eax, dword [edx + 0xc]
jbe 0x1009a2b3
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x204]
or ecx, 0x10000000
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x390]
mov dword [ebp - 0x7e4], edx
jmp 0x1009a415
mov eax, dword [ebp - 0x7bc]
mov dword [ebp - 0x7c0], eax
mov dword [ebp - 4], 0xa
mov ecx, dword [ebp - 0x7c0]
mov dword [ebp - 0x7c8], ecx
mov edx, dword [ebp - 0x2f0]
add edx, 8
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x3fc]
push eax
mov ecx, dword [ebp - 0x7c4]
call fcn.10041920
mov ecx, dword [ebp - 0x7c8]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x5a
shl edx, 2
mov eax, dword [ebp - 0x2f0]
add edx, dword [eax + 4]
mov dword [ebp - 0x400], edx
mov ecx, dword [ebp - 0x400]
cmp dword [ecx], 0
je 0x1009a369
mov edx, dword [ebp - 0x400]
mov eax, dword [edx]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7cc]
mov dword [ebp - 0x7d0], ecx
lea edx, [ebp - 0x7d0]
mov dword [ebp - 0x7d4], edx
mov eax, dword [ebp - 0x204]
or eax, 0x20000000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x7d4]
mov dword [ebp - 0x404], ecx
jmp 0x1009a39c
mov dword [ebp - 0x7d8], 0
lea edx, [ebp - 0x7d8]
mov dword [ebp - 0x7dc], edx
mov eax, dword [ebp - 0x204]
or eax, 0x40000000
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0x7dc]
mov dword [ebp - 0x404], ecx
mov edx, dword [ebp - 0x404]
mov dword [ebp - 0x7e0], edx
mov eax, dword [ebp - 0x7e0]
mov ecx, dword [eax]
mov dword [ebp - 0x390], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x80000000
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x40000000
je 0x1009a3df
and dword [ebp - 0x204], 0xbfffffff
mov ecx, dword [ebp - 0x204]
and ecx, 0x20000000
je 0x1009a3f7
and dword [ebp - 0x204], 0xdfffffff
mov edx, dword [ebp - 0x204]
or edx, 0x10000000
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x390]
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x78
mov dword [ebp - 0x240], ecx
mov edx, dword [0x101d018c]
mov dword [ebp - 0x7e8], edx
lea eax, [ebp - 0x2ec]
mov dword [ebp - 0x408], eax
mov ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0x7e8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x408]
mov dword [ebp - 0xdcc], eax
mov dword [ebp - 4], 0xb
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x2ec]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2ec]
mov ecx, dword [eax]
mov dword [ebp - 0x7ec], ecx
mov edx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x7ec]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x240]
cmp dword [ecx + 4], 0
jne 0x1009a4a0
mov dword [ebp - 4], 0xffffffff
jmp 0x1009a6da
mov dword [ebp - 0x300], 0
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x300]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x40c], edx
cmp dword [ebp - 0x40c], 0
jne 0x1009a4d4
mov byte [ebp - 0x20f], 0
jmp 0x1009a52b
mov eax, dword [0x101cf460]
mov dword [ebp - 0x7f0], eax
push 0x1c
lea ecx, [ebp - 0x1a8]
push ecx
mov edx, dword [ebp - 0x40c]
push edx
call dword [ebp - 0x7f0]
test eax, eax
jne 0x1009a502
mov byte [ebp - 0x20f], 0
jmp 0x1009a52b
mov eax, dword [ebp - 0x194]
and eax, 1
jne 0x1009a51b
mov ecx, dword [ebp - 0x194]
and ecx, 0x100
je 0x1009a524
mov byte [ebp - 0x20f], 0
jmp 0x1009a52b
mov byte [ebp - 0x20f], 1
movzx edx, byte [ebp - 0x20f]
test edx, edx
je 0x1009a54a
mov eax, dword [ebp - 0x300]
add eax, 1
mov dword [ebp - 0x300], eax
jmp 0x1009a4aa
mov ecx, dword [ebp - 0x240]
mov edx, dword [ebp - 0x300]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x240]
cmp dword [eax + 0xc], 0
jne 0x1009a571
mov dword [ebp - 4], 0xffffffff
jmp 0x1009a6da
mov ecx, 1
test ecx, ecx
je 0x1009a58e
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x410], eax
jmp 0x1009a59d
mov ecx, dword [ebp - 0x240]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x410], edx
mov edx, dword [ebp - 0x410]
lea ecx, [ebp - 0x7f8]
call fcn.10042100
mov dword [ebp - 0x7f4], eax
mov eax, dword [ebp - 0x7f4]
push eax
mov ecx, dword [ebp - 0x240]
add ecx, 8
call fcn.100419a0
lea ecx, [ebp - 0x7f8]
call fcn.10041930
mov ecx, dword [ebp - 0x240]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
jne 0x1009a5f5
mov dword [ebp - 4], 0xffffffff
jmp 0x1009a6da
mov ecx, dword [ebp - 0x240]
add ecx, 8
call fcn.10041910
mov dword [ebp - 0x7fc], eax
mov edx, dword [ebp - 0x7fc]
mov dword [ebp - 0x20], edx
mov eax, 1
test eax, eax
je 0x1009a68e
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x800], ecx
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0x800]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x804]
add eax, 4
mov dword [ebp - 0x808], eax
cmp dword [ebp - 0x2ec], 0
jne 0x1009a674
jmp 0x1009a682
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x808]
mov dword [ecx], edx
mov eax, dword [ebp - 0x240]
mov byte [eax + 0x10], 1
jmp 0x1009a6d3
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x80c], ecx
mov edx, dword [ebp - 0x240]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x240]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x80c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2ec], 0
jne 0x1009a6c8
jmp 0x1009a6d3
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2ec]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x78
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x810], 0x100b6cc0
mov ecx, dword [ebp - 0x2e8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1009a711
mov eax, 0xe
add eax, 1
mov dword [ebp - 0x414], eax
jmp 0x1009a71b
mov dword [ebp - 0x414], 0xe
mov ecx, dword [ebp - 0x414]
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x2e8]
cmp dword [edx + 4], 0
je 0x1009a759
mov ecx, dword [ebp - 0x2e8]
add ecx, 8
call fcn.10041900
movzx eax, al
test eax, eax
je 0x1009a759
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x418]
cmp edx, dword [ecx + 0xc]
jbe 0x1009a783
mov dword [ebp - 0x394], 0
mov eax, dword [ebp - 0x1fc]
or eax, 1
mov dword [ebp - 0x1fc], eax
lea ecx, [ebp - 0x394]
mov dword [ebp - 0x838], ecx
jmp 0x1009a8d0
mov edx, dword [ebp - 0x810]
mov dword [ebp - 0x814], edx
mov dword [ebp - 4], 0xc
mov eax, dword [ebp - 0x814]
mov dword [ebp - 0x81c], eax
mov ecx, dword [ebp - 0x2e8]
add ecx, 8
mov dword [ebp - 0x818], ecx
mov edx, dword [ebp - 0x418]
push edx
mov ecx, dword [ebp - 0x818]
call fcn.10041920
mov ecx, dword [ebp - 0x81c]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0xe
shl edx, 2
mov eax, dword [ebp - 0x2e8]
add edx, dword [eax + 4]
mov dword [ebp - 0x41c], edx
mov ecx, dword [ebp - 0x41c]
cmp dword [ecx], 0
je 0x1009a837
mov edx, dword [ebp - 0x41c]
mov eax, dword [edx]
mov dword [ebp - 0x820], eax
mov ecx, dword [ebp - 0x820]
mov dword [ebp - 0x824], ecx
lea edx, [ebp - 0x824]
mov dword [ebp - 0x828], edx
mov eax, dword [ebp - 0x1fc]
or eax, 2
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x828]
mov dword [ebp - 0x420], ecx
jmp 0x1009a868
mov dword [ebp - 0x82c], 0
lea edx, [ebp - 0x82c]
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x1fc]
or eax, 4
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x830]
mov dword [ebp - 0x420], ecx
mov edx, dword [ebp - 0x420]
mov dword [ebp - 0x834], edx
mov eax, dword [ebp - 0x834]
mov ecx, dword [eax]
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 8
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 4
je 0x1009a8a3
and dword [ebp - 0x1fc], 0xfffffffb
mov ecx, dword [ebp - 0x1fc]
and ecx, 2
je 0x1009a8b5
and dword [ebp - 0x1fc], 0xfffffffd
mov edx, dword [ebp - 0x1fc]
or edx, 1
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x394]
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x78
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x83c], 0x100b6fe0
mov edx, dword [ebp - 0x2e4]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009a907
mov ecx, 0x13
add ecx, 1
mov dword [ebp - 0x424], ecx
jmp 0x1009a911
mov dword [ebp - 0x424], 0x13
mov edx, dword [ebp - 0x424]
mov dword [ebp - 0x428], edx
mov eax, dword [ebp - 0x2e4]
cmp dword [eax + 4], 0
je 0x1009a94f
mov ecx, dword [ebp - 0x2e4]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009a94f
mov edx, dword [ebp - 0x2e4]
mov eax, dword [ebp - 0x428]
cmp eax, dword [edx + 0xc]
jbe 0x1009a979
mov dword [ebp - 0x3b0], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x10
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x3b0]
mov dword [ebp - 0x864], edx
jmp 0x1009aac9
mov eax, dword [ebp - 0x83c]
mov dword [ebp - 0x840], eax
mov dword [ebp - 4], 0xd
mov ecx, dword [ebp - 0x840]
mov dword [ebp - 0x848], ecx
mov edx, dword [ebp - 0x2e4]
add edx, 8
mov dword [ebp - 0x844], edx
mov eax, dword [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0x844]
call fcn.10041920
mov ecx, dword [ebp - 0x848]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x13
shl edx, 2
mov eax, dword [ebp - 0x2e4]
add edx, dword [eax + 4]
mov dword [ebp - 0x42c], edx
mov ecx, dword [ebp - 0x42c]
cmp dword [ecx], 0
je 0x1009aa2d
mov edx, dword [ebp - 0x42c]
mov eax, dword [edx]
mov dword [ebp - 0x84c], eax
mov ecx, dword [ebp - 0x84c]
mov dword [ebp - 0x850], ecx
lea edx, [ebp - 0x850]
mov dword [ebp - 0x854], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x20
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x854]
mov dword [ebp - 0x430], ecx
jmp 0x1009aa5e
mov dword [ebp - 0x858], 0
lea edx, [ebp - 0x858]
mov dword [ebp - 0x85c], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x40
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x85c]
mov dword [ebp - 0x430], ecx
mov edx, dword [ebp - 0x430]
mov dword [ebp - 0x860], edx
mov eax, dword [ebp - 0x860]
mov ecx, dword [eax]
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x80
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x40
je 0x1009aa9c
and dword [ebp - 0x1fc], 0xffffffbf
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x20
je 0x1009aaae
and dword [ebp - 0x1fc], 0xffffffdf
mov edx, dword [ebp - 0x1fc]
or edx, 0x10
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x864], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x14
mov dword [ebp - 0x244], ecx
mov edx, dword [0x101d01d0]
mov dword [ebp - 0x868], edx
lea eax, [ebp - 0x2e0]
mov dword [ebp - 0x434], eax
mov ecx, dword [ebp - 0x434]
mov edx, dword [ebp - 0x868]
mov dword [ecx], edx
mov eax, dword [ebp - 0x434]
mov dword [ebp - 0xd98], eax
mov dword [ebp - 4], 0xe
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x2e0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2e0]
mov ecx, dword [eax]
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x86c]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x244]
cmp dword [ecx + 4], 0
jne 0x1009ab54
mov dword [ebp - 4], 0xffffffff
jmp 0x1009ad8e
mov dword [ebp - 0x304], 0
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x304]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x438], edx
cmp dword [ebp - 0x438], 0
jne 0x1009ab88
mov byte [ebp - 0x210], 0
jmp 0x1009abdf
mov eax, dword [0x101cf460]
mov dword [ebp - 0x870], eax
push 0x1c
lea ecx, [ebp - 0x18c]
push ecx
mov edx, dword [ebp - 0x438]
push edx
call dword [ebp - 0x870]
test eax, eax
jne 0x1009abb6
mov byte [ebp - 0x210], 0
jmp 0x1009abdf
mov eax, dword [ebp - 0x178]
and eax, 1
jne 0x1009abcf
mov ecx, dword [ebp - 0x178]
and ecx, 0x100
je 0x1009abd8
mov byte [ebp - 0x210], 0
jmp 0x1009abdf
mov byte [ebp - 0x210], 1
movzx edx, byte [ebp - 0x210]
test edx, edx
je 0x1009abfe
mov eax, dword [ebp - 0x304]
add eax, 1
mov dword [ebp - 0x304], eax
jmp 0x1009ab5e
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x304]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0xc], 0
jne 0x1009ac25
mov dword [ebp - 4], 0xffffffff
jmp 0x1009ad8e
mov ecx, 1
test ecx, ecx
je 0x1009ac42
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x43c], eax
jmp 0x1009ac51
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x43c], edx
mov edx, dword [ebp - 0x43c]
lea ecx, [ebp - 0x878]
call fcn.10042100
mov dword [ebp - 0x874], eax
mov eax, dword [ebp - 0x874]
push eax
mov ecx, dword [ebp - 0x244]
add ecx, 8
call fcn.100419a0
lea ecx, [ebp - 0x878]
call fcn.10041930
mov ecx, dword [ebp - 0x244]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
jne 0x1009aca9
mov dword [ebp - 4], 0xffffffff
jmp 0x1009ad8e
mov ecx, dword [ebp - 0x244]
add ecx, 8
call fcn.10041910
mov dword [ebp - 0x87c], eax
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x1c], edx
mov eax, 1
test eax, eax
je 0x1009ad42
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x880], 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 - 0x880]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x884], edx
mov eax, dword [ebp - 0x884]
add eax, 4
mov dword [ebp - 0x888], eax
cmp dword [ebp - 0x2e0], 0
jne 0x1009ad28
jmp 0x1009ad36
mov ecx, dword [ebp - 0x2e0]
mov edx, dword [ebp - 0x888]
mov dword [ecx], edx
mov eax, dword [ebp - 0x244]
mov byte [eax + 0x10], 1
jmp 0x1009ad87
mov ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x88c], 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 - 0x88c]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2e0], 0
jne 0x1009ad7c
jmp 0x1009ad87
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x2e0]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x14
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x890], 0x100b09e0
mov ecx, dword [ebp - 0x2dc]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1009adc5
mov eax, 0x11
add eax, 1
mov dword [ebp - 0x440], eax
jmp 0x1009adcf
mov dword [ebp - 0x440], 0x11
mov ecx, dword [ebp - 0x440]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x2dc]
cmp dword [edx + 4], 0
je 0x1009ae0d
mov ecx, dword [ebp - 0x2dc]
add ecx, 8
call fcn.10041900
movzx eax, al
test eax, eax
je 0x1009ae0d
mov ecx, dword [ebp - 0x2dc]
mov edx, dword [ebp - 0x444]
cmp edx, dword [ecx + 0xc]
jbe 0x1009ae39
mov dword [ebp - 0x39c], 0
mov eax, dword [ebp - 0x1fc]
or eax, 0x100
mov dword [ebp - 0x1fc], eax
lea ecx, [ebp - 0x39c]
mov dword [ebp - 0x8b8], ecx
jmp 0x1009af9b
mov edx, dword [ebp - 0x890]
mov dword [ebp - 0x894], edx
mov dword [ebp - 4], 0xf
mov eax, dword [ebp - 0x894]
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x2dc]
add ecx, 8
mov dword [ebp - 0x898], ecx
mov edx, dword [ebp - 0x444]
push edx
mov ecx, dword [ebp - 0x898]
call fcn.10041920
mov ecx, dword [ebp - 0x89c]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x11
shl edx, 2
mov eax, dword [ebp - 0x2dc]
add edx, dword [eax + 4]
mov dword [ebp - 0x448], edx
mov ecx, dword [ebp - 0x448]
cmp dword [ecx], 0
je 0x1009aeef
mov edx, dword [ebp - 0x448]
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 - 0x1fc]
or eax, 0x200
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x8a8]
mov dword [ebp - 0x44c], ecx
jmp 0x1009af22
mov dword [ebp - 0x8ac], 0
lea edx, [ebp - 0x8ac]
mov dword [ebp - 0x8b0], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x400
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x8b0]
mov dword [ebp - 0x44c], ecx
mov edx, dword [ebp - 0x44c]
mov dword [ebp - 0x8b4], edx
mov eax, dword [ebp - 0x8b4]
mov ecx, dword [eax]
mov dword [ebp - 0x39c], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x800
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x400
je 0x1009af65
and dword [ebp - 0x1fc], 0xfffffbff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x200
je 0x1009af7d
and dword [ebp - 0x1fc], 0xfffffdff
mov edx, dword [ebp - 0x1fc]
or edx, 0x100
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x39c]
mov dword [ebp - 0x8b8], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x14
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x8bc], 0x100b0a10
mov edx, dword [ebp - 0x2d8]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009afd2
mov ecx, 0x12
add ecx, 1
mov dword [ebp - 0x450], ecx
jmp 0x1009afdc
mov dword [ebp - 0x450], 0x12
mov edx, dword [ebp - 0x450]
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x2d8]
cmp dword [eax + 4], 0
je 0x1009b01a
mov ecx, dword [ebp - 0x2d8]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009b01a
mov edx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x454]
cmp eax, dword [edx + 0xc]
jbe 0x1009b047
mov dword [ebp - 0x3a0], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x1000
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x3a0]
mov dword [ebp - 0x8e4], edx
jmp 0x1009b1a9
mov eax, dword [ebp - 0x8bc]
mov dword [ebp - 0x8c0], eax
mov dword [ebp - 4], 0x10
mov ecx, dword [ebp - 0x8c0]
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x2d8]
add edx, 8
mov dword [ebp - 0x8c4], edx
mov eax, dword [ebp - 0x454]
push eax
mov ecx, dword [ebp - 0x8c4]
call fcn.10041920
mov ecx, dword [ebp - 0x8c8]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x12
shl edx, 2
mov eax, dword [ebp - 0x2d8]
add edx, dword [eax + 4]
mov dword [ebp - 0x458], edx
mov ecx, dword [ebp - 0x458]
cmp dword [ecx], 0
je 0x1009b0fd
mov edx, dword [ebp - 0x458]
mov eax, dword [edx]
mov dword [ebp - 0x8cc], eax
mov ecx, dword [ebp - 0x8cc]
mov dword [ebp - 0x8d0], ecx
lea edx, [ebp - 0x8d0]
mov dword [ebp - 0x8d4], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x2000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x8d4]
mov dword [ebp - 0x45c], ecx
jmp 0x1009b130
mov dword [ebp - 0x8d8], 0
lea edx, [ebp - 0x8d8]
mov dword [ebp - 0x8dc], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x4000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x8dc]
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x45c]
mov dword [ebp - 0x8e0], edx
mov eax, dword [ebp - 0x8e0]
mov ecx, dword [eax]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x8000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x4000
je 0x1009b173
and dword [ebp - 0x1fc], 0xffffbfff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x2000
je 0x1009b18b
and dword [ebp - 0x1fc], 0xffffdfff
mov edx, dword [ebp - 0x1fc]
or edx, 0x1000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x8e4], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x14
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x8e8], 0x100b0b50
mov edx, dword [ebp - 0x2d4]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009b1e0
mov ecx, 0x18
add ecx, 1
mov dword [ebp - 0x460], ecx
jmp 0x1009b1ea
mov dword [ebp - 0x460], 0x18
mov edx, dword [ebp - 0x460]
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x2d4]
cmp dword [eax + 4], 0
je 0x1009b228
mov ecx, dword [ebp - 0x2d4]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009b228
mov edx, dword [ebp - 0x2d4]
mov eax, dword [ebp - 0x464]
cmp eax, dword [edx + 0xc]
jbe 0x1009b255
mov dword [ebp - 0x3a4], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x10000
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x3a4]
mov dword [ebp - 0x910], edx
jmp 0x1009b3b7
mov eax, dword [ebp - 0x8e8]
mov dword [ebp - 0x8ec], eax
mov dword [ebp - 4], 0x11
mov ecx, dword [ebp - 0x8ec]
mov dword [ebp - 0x8f4], ecx
mov edx, dword [ebp - 0x2d4]
add edx, 8
mov dword [ebp - 0x8f0], edx
mov eax, dword [ebp - 0x464]
push eax
mov ecx, dword [ebp - 0x8f0]
call fcn.10041920
mov ecx, dword [ebp - 0x8f4]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x18
shl edx, 2
mov eax, dword [ebp - 0x2d4]
add edx, dword [eax + 4]
mov dword [ebp - 0x468], edx
mov ecx, dword [ebp - 0x468]
cmp dword [ecx], 0
je 0x1009b30b
mov edx, dword [ebp - 0x468]
mov eax, dword [edx]
mov dword [ebp - 0x8f8], eax
mov ecx, dword [ebp - 0x8f8]
mov dword [ebp - 0x8fc], ecx
lea edx, [ebp - 0x8fc]
mov dword [ebp - 0x900], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x20000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x900]
mov dword [ebp - 0x46c], ecx
jmp 0x1009b33e
mov dword [ebp - 0x904], 0
lea edx, [ebp - 0x904]
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x40000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x908]
mov dword [ebp - 0x46c], ecx
mov edx, dword [ebp - 0x46c]
mov dword [ebp - 0x90c], edx
mov eax, dword [ebp - 0x90c]
mov ecx, dword [eax]
mov dword [ebp - 0x3a4], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x80000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x40000
je 0x1009b381
and dword [ebp - 0x1fc], 0xfffbffff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x20000
je 0x1009b399
and dword [ebp - 0x1fc], 0xfffdffff
mov edx, dword [ebp - 0x1fc]
or edx, 0x10000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x3a4]
mov dword [ebp - 0x910], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x14
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x914], 0x100b1040
mov edx, dword [ebp - 0x25c]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009b3ee
mov ecx, 0x2c
add ecx, 1
mov dword [ebp - 0x470], ecx
jmp 0x1009b3f8
mov dword [ebp - 0x470], 0x2c
mov edx, dword [ebp - 0x470]
mov dword [ebp - 0x474], edx
mov eax, dword [ebp - 0x25c]
cmp dword [eax + 4], 0
je 0x1009b436
mov ecx, dword [ebp - 0x25c]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009b436
mov edx, dword [ebp - 0x25c]
mov eax, dword [ebp - 0x474]
cmp eax, dword [edx + 0xc]
jbe 0x1009b463
mov dword [ebp - 0x3a8], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x100000
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x3a8]
mov dword [ebp - 0x93c], edx
jmp 0x1009b5c5
mov eax, dword [ebp - 0x914]
mov dword [ebp - 0x918], eax
mov dword [ebp - 4], 0x12
mov ecx, dword [ebp - 0x918]
mov dword [ebp - 0x920], ecx
mov edx, dword [ebp - 0x25c]
add edx, 8
mov dword [ebp - 0x91c], edx
mov eax, dword [ebp - 0x474]
push eax
mov ecx, dword [ebp - 0x91c]
call fcn.10041920
mov ecx, dword [ebp - 0x920]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x2c
shl edx, 2
mov eax, dword [ebp - 0x25c]
add edx, dword [eax + 4]
mov dword [ebp - 0x478], edx
mov ecx, dword [ebp - 0x478]
cmp dword [ecx], 0
je 0x1009b519
mov edx, dword [ebp - 0x478]
mov eax, dword [edx]
mov dword [ebp - 0x924], eax
mov ecx, dword [ebp - 0x924]
mov dword [ebp - 0x928], ecx
lea edx, [ebp - 0x928]
mov dword [ebp - 0x92c], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x200000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x92c]
mov dword [ebp - 0x47c], ecx
jmp 0x1009b54c
mov dword [ebp - 0x930], 0
lea edx, [ebp - 0x930]
mov dword [ebp - 0x934], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x400000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x934]
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x47c]
mov dword [ebp - 0x938], edx
mov eax, dword [ebp - 0x938]
mov ecx, dword [eax]
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x800000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x400000
je 0x1009b58f
and dword [ebp - 0x1fc], 0xffbfffff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x200000
je 0x1009b5a7
and dword [ebp - 0x1fc], 0xffdfffff
mov edx, dword [ebp - 0x1fc]
or edx, 0x100000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x3a8]
mov dword [ebp - 0x93c], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x8c
mov dword [ebp - 0x248], ecx
mov edx, dword [0x101d0180]
mov dword [ebp - 0x940], edx
lea eax, [ebp - 0x2d0]
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x480]
mov edx, dword [ebp - 0x940]
mov dword [ecx], edx
mov eax, dword [ebp - 0x480]
mov dword [ebp - 0xd9c], eax
mov dword [ebp - 4], 0x13
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0x2d0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2d0]
mov ecx, dword [eax]
mov dword [ebp - 0x944], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x944]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x248]
cmp dword [ecx + 4], 0
jne 0x1009b653
mov dword [ebp - 4], 0xffffffff
jmp 0x1009b88d
mov dword [ebp - 0x308], 0
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x308]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x484], edx
cmp dword [ebp - 0x484], 0
jne 0x1009b687
mov byte [ebp - 0x211], 0
jmp 0x1009b6de
mov eax, dword [0x101cf460]
mov dword [ebp - 0x948], eax
push 0x1c
lea ecx, [ebp - 0x170]
push ecx
mov edx, dword [ebp - 0x484]
push edx
call dword [ebp - 0x948]
test eax, eax
jne 0x1009b6b5
mov byte [ebp - 0x211], 0
jmp 0x1009b6de
mov eax, dword [ebp - 0x15c]
and eax, 1
jne 0x1009b6ce
mov ecx, dword [ebp - 0x15c]
and ecx, 0x100
je 0x1009b6d7
mov byte [ebp - 0x211], 0
jmp 0x1009b6de
mov byte [ebp - 0x211], 1
movzx edx, byte [ebp - 0x211]
test edx, edx
je 0x1009b6fd
mov eax, dword [ebp - 0x308]
add eax, 1
mov dword [ebp - 0x308], eax
jmp 0x1009b65d
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0x308]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x248]
cmp dword [eax + 0xc], 0
jne 0x1009b724
mov dword [ebp - 4], 0xffffffff
jmp 0x1009b88d
mov ecx, 1
test ecx, ecx
je 0x1009b741
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x488], eax
jmp 0x1009b750
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x488], edx
mov edx, dword [ebp - 0x488]
lea ecx, [ebp - 0x950]
call fcn.10042100
mov dword [ebp - 0x94c], eax
mov eax, dword [ebp - 0x94c]
push eax
mov ecx, dword [ebp - 0x248]
add ecx, 8
call fcn.100419a0
lea ecx, [ebp - 0x950]
call fcn.10041930
mov ecx, dword [ebp - 0x248]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
jne 0x1009b7a8
mov dword [ebp - 4], 0xffffffff
jmp 0x1009b88d
mov ecx, dword [ebp - 0x248]
add ecx, 8
call fcn.10041910
mov dword [ebp - 0x954], eax
mov edx, dword [ebp - 0x954]
mov dword [ebp - 0x18], edx
mov eax, 1
test eax, eax
je 0x1009b841
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x958], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0x958]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0x95c], edx
mov eax, dword [ebp - 0x95c]
add eax, 4
mov dword [ebp - 0x960], eax
cmp dword [ebp - 0x2d0], 0
jne 0x1009b827
jmp 0x1009b835
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x960]
mov dword [ecx], edx
mov eax, dword [ebp - 0x248]
mov byte [eax + 0x10], 1
jmp 0x1009b886
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x964], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x964]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2d0], 0
jne 0x1009b87b
jmp 0x1009b886
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x2d0]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x8c
mov dword [ebp - 0x2cc], eax
mov dword [ebp - 0x968], 0x100aceb0
mov ecx, dword [ebp - 0x2cc]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1009b8c6
mov eax, 0x43
add eax, 1
mov dword [ebp - 0x48c], eax
jmp 0x1009b8d0
mov dword [ebp - 0x48c], 0x43
mov ecx, dword [ebp - 0x48c]
mov dword [ebp - 0x490], ecx
mov edx, dword [ebp - 0x2cc]
cmp dword [edx + 4], 0
je 0x1009b90e
mov ecx, dword [ebp - 0x2cc]
add ecx, 8
call fcn.10041900
movzx eax, al
test eax, eax
je 0x1009b90e
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x490]
cmp edx, dword [ecx + 0xc]
jbe 0x1009b93a
mov dword [ebp - 0x3ac], 0
mov eax, dword [ebp - 0x1fc]
or eax, 0x1000000
mov dword [ebp - 0x1fc], eax
lea ecx, [ebp - 0x3ac]
mov dword [ebp - 0x990], ecx
jmp 0x1009ba9c
mov edx, dword [ebp - 0x968]
mov dword [ebp - 0x96c], edx
mov dword [ebp - 4], 0x14
mov eax, dword [ebp - 0x96c]
mov dword [ebp - 0x974], eax
mov ecx, dword [ebp - 0x2cc]
add ecx, 8
mov dword [ebp - 0x970], ecx
mov edx, dword [ebp - 0x490]
push edx
mov ecx, dword [ebp - 0x970]
call fcn.10041920
mov ecx, dword [ebp - 0x974]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x43
shl edx, 2
mov eax, dword [ebp - 0x2cc]
add edx, dword [eax + 4]
mov dword [ebp - 0x494], edx
mov ecx, dword [ebp - 0x494]
cmp dword [ecx], 0
je 0x1009b9f0
mov edx, dword [ebp - 0x494]
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 - 0x1fc]
or eax, 0x2000000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x980]
mov dword [ebp - 0x498], ecx
jmp 0x1009ba23
mov dword [ebp - 0x984], 0
lea edx, [ebp - 0x984]
mov dword [ebp - 0x988], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x4000000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x988]
mov dword [ebp - 0x498], ecx
mov edx, dword [ebp - 0x498]
mov dword [ebp - 0x98c], edx
mov eax, dword [ebp - 0x98c]
mov ecx, dword [eax]
mov dword [ebp - 0x3ac], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x8000000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x4000000
je 0x1009ba66
and dword [ebp - 0x1fc], 0xfbffffff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x2000000
je 0x1009ba7e
and dword [ebp - 0x1fc], 0xfdffffff
mov edx, dword [ebp - 0x1fc]
or edx, 0x1000000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x3ac]
mov dword [ebp - 0x990], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x8c
mov dword [ebp - 0x258], ecx
mov dword [ebp - 0x994], 0x100acee0
mov edx, dword [ebp - 0x258]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009bad6
mov ecx, 0x52
add ecx, 1
mov dword [ebp - 0x49c], ecx
jmp 0x1009bae0
mov dword [ebp - 0x49c], 0x52
mov edx, dword [ebp - 0x49c]
mov dword [ebp - 0x4a0], edx
mov eax, dword [ebp - 0x258]
cmp dword [eax + 4], 0
je 0x1009bb1e
mov ecx, dword [ebp - 0x258]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009bb1e
mov edx, dword [ebp - 0x258]
mov eax, dword [ebp - 0x4a0]
cmp eax, dword [edx + 0xc]
jbe 0x1009bb4b
mov dword [ebp - 0x338], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x10000000
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x338]
mov dword [ebp - 0x9bc], edx
jmp 0x1009bcad
mov eax, dword [ebp - 0x994]
mov dword [ebp - 0x998], eax
mov dword [ebp - 4], 0x15
mov ecx, dword [ebp - 0x998]
mov dword [ebp - 0x9a0], ecx
mov edx, dword [ebp - 0x258]
add edx, 8
mov dword [ebp - 0x99c], edx
mov eax, dword [ebp - 0x4a0]
push eax
mov ecx, dword [ebp - 0x99c]
call fcn.10041920
mov ecx, dword [ebp - 0x9a0]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x52
shl edx, 2
mov eax, dword [ebp - 0x258]
add edx, dword [eax + 4]
mov dword [ebp - 0x4a4], edx
mov ecx, dword [ebp - 0x4a4]
cmp dword [ecx], 0
je 0x1009bc01
mov edx, dword [ebp - 0x4a4]
mov eax, dword [edx]
mov dword [ebp - 0x9a4], eax
mov ecx, dword [ebp - 0x9a4]
mov dword [ebp - 0x9a8], ecx
lea edx, [ebp - 0x9a8]
mov dword [ebp - 0x9ac], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x20000000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x9ac]
mov dword [ebp - 0x4a8], ecx
jmp 0x1009bc34
mov dword [ebp - 0x9b0], 0
lea edx, [ebp - 0x9b0]
mov dword [ebp - 0x9b4], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x40000000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x9b4]
mov dword [ebp - 0x4a8], ecx
mov edx, dword [ebp - 0x4a8]
mov dword [ebp - 0x9b8], edx
mov eax, dword [ebp - 0x9b8]
mov ecx, dword [eax]
mov dword [ebp - 0x338], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x80000000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x40000000
je 0x1009bc77
and dword [ebp - 0x1fc], 0xbfffffff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x20000000
je 0x1009bc8f
and dword [ebp - 0x1fc], 0xdfffffff
mov edx, dword [ebp - 0x1fc]
or edx, 0x10000000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x338]
mov dword [ebp - 0x9bc], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x8c
mov dword [ebp - 0x2c8], ecx
mov dword [ebp - 0x9c0], 0x100acf00
mov edx, dword [ebp - 0x2c8]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009bce7
mov ecx, 0x74
add ecx, 1
mov dword [ebp - 0x4ac], ecx
jmp 0x1009bcf1
mov dword [ebp - 0x4ac], 0x74
mov edx, dword [ebp - 0x4ac]
mov dword [ebp - 0x4b0], edx
mov eax, dword [ebp - 0x2c8]
cmp dword [eax + 4], 0
je 0x1009bd2f
mov ecx, dword [ebp - 0x2c8]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
je 0x1009bd2f
mov edx, dword [ebp - 0x2c8]
mov eax, dword [ebp - 0x4b0]
cmp eax, dword [edx + 0xc]
jbe 0x1009bd59
mov dword [ebp - 0x33c], 0
mov ecx, dword [ebp - 0x200]
or ecx, 1
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x33c]
mov dword [ebp - 0x9e8], edx
jmp 0x1009bea6
mov eax, dword [ebp - 0x9c0]
mov dword [ebp - 0x9c4], eax
mov dword [ebp - 4], 0x16
mov ecx, dword [ebp - 0x9c4]
mov dword [ebp - 0x9cc], ecx
mov edx, dword [ebp - 0x2c8]
add edx, 8
mov dword [ebp - 0x9c8], edx
mov eax, dword [ebp - 0x4b0]
push eax
mov ecx, dword [ebp - 0x9c8]
call fcn.10041920
mov ecx, dword [ebp - 0x9cc]
mov dword [eax], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, 0x74
shl edx, 2
mov eax, dword [ebp - 0x2c8]
add edx, dword [eax + 4]
mov dword [ebp - 0x4b4], edx
mov ecx, dword [ebp - 0x4b4]
cmp dword [ecx], 0
je 0x1009be0d
mov edx, dword [ebp - 0x4b4]
mov eax, dword [edx]
mov dword [ebp - 0x9d0], eax
mov ecx, dword [ebp - 0x9d0]
mov dword [ebp - 0x9d4], ecx
lea edx, [ebp - 0x9d4]
mov dword [ebp - 0x9d8], edx
mov eax, dword [ebp - 0x200]
or eax, 2
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x9d8]
mov dword [ebp - 0x4b8], ecx
jmp 0x1009be3e
mov dword [ebp - 0x9dc], 0
lea edx, [ebp - 0x9dc]
mov dword [ebp - 0x9e0], edx
mov eax, dword [ebp - 0x200]
or eax, 4
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x9e0]
mov dword [ebp - 0x4b8], ecx
mov edx, dword [ebp - 0x4b8]
mov dword [ebp - 0x9e4], edx
mov eax, dword [ebp - 0x9e4]
mov ecx, dword [eax]
mov dword [ebp - 0x33c], ecx
mov edx, dword [ebp - 0x200]
or edx, 8
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 4
je 0x1009be79
and dword [ebp - 0x200], 0xfffffffb
mov ecx, dword [ebp - 0x200]
and ecx, 2
je 0x1009be8b
and dword [ebp - 0x200], 0xfffffffd
mov edx, dword [ebp - 0x200]
or edx, 1
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x33c]
mov dword [ebp - 0x9e8], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0xdc
mov dword [ebp - 0x24c], ecx
mov edx, dword [0x101d01a0]
mov dword [ebp - 0x9ec], edx
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0x4bc], eax
mov ecx, dword [ebp - 0x4bc]
mov edx, dword [ebp - 0x9ec]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4bc]
mov dword [ebp - 0xda0], eax
mov dword [ebp - 4], 0x17
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x2c4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2c4]
mov ecx, dword [eax]
mov dword [ebp - 0x9f0], ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x9f0]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x24c]
cmp dword [ecx + 4], 0
jne 0x1009bf34
mov dword [ebp - 4], 0xffffffff
jmp 0x1009c16e
mov dword [ebp - 0x30c], 0
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x30c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x4c0], edx
cmp dword [ebp - 0x4c0], 0
jne 0x1009bf68
mov byte [ebp - 0x212], 0
jmp 0x1009bfbf
mov eax, dword [0x101cf460]
mov dword [ebp - 0x9f4], eax
push 0x1c
lea ecx, [ebp - 0x154]
push ecx
mov edx, dword [ebp - 0x4c0]
push edx
call dword [ebp - 0x9f4]
test eax, eax
jne 0x1009bf96
mov byte [ebp - 0x212], 0
jmp 0x1009bfbf
mov eax, dword [ebp - 0x140]
and eax, 1
jne 0x1009bfaf
mov ecx, dword [ebp - 0x140]
and ecx, 0x100
je 0x1009bfb8
mov byte [ebp - 0x212], 0
jmp 0x1009bfbf
mov byte [ebp - 0x212], 1
movzx edx, byte [ebp - 0x212]
test edx, edx
je 0x1009bfde
mov eax, dword [ebp - 0x30c]
add eax, 1
mov dword [ebp - 0x30c], eax
jmp 0x1009bf3e
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x30c]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x24c]
cmp dword [eax + 0xc], 0
jne 0x1009c005
mov dword [ebp - 4], 0xffffffff
jmp 0x1009c16e
mov ecx, 1
test ecx, ecx
je 0x1009c022
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x4c4], eax
jmp 0x1009c031
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4c4], edx
mov edx, dword [ebp - 0x4c4]
lea ecx, [ebp - 0x9fc]
call fcn.10042100
mov dword [ebp - 0x9f8], eax
mov eax, dword [ebp - 0x9f8]
push eax
mov ecx, dword [ebp - 0x24c]
add ecx, 8
call fcn.100419a0
lea ecx, [ebp - 0x9fc]
call fcn.10041930
mov ecx, dword [ebp - 0x24c]
add ecx, 8
call fcn.10041900
movzx ecx, al
test ecx, ecx
jne 0x1009c089
mov dword [ebp - 4], 0xffffffff
jmp 0x1009c16e
mov ecx, dword [ebp - 0x24c]
add ecx, 8
call fcn.10041910
mov dword [ebp - 0xa00], eax
mov edx, dword [ebp - 0xa00]
mov dword [ebp - 0x14], edx
mov eax, 1
test eax, eax
je 0x1009c122
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xa04], 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 - 0xa04]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0xa08]
add eax, 4
mov dword [ebp - 0xa0c], eax
cmp dword [ebp - 0x2c4], 0
jne 0x1009c108
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 0xa10], 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 - 0xa10]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2c4], 0
jne 0x1009c15c
mov eax, dword [ebp - 0x20c]
add eax, 0xdc
mov dword [ebp - 0x2c0], eax
mov dword [ebp - 0xa14], 0x1008f400
mov ecx, dword [ebp - 0x2c0]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1009c1a7
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.100c4f7f
mov esp, ebp
pop ebp
ret