Function at 0x10095e00
Capabilities:
Inspect section memory permissions

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100d25c4
mov eax, dword fs:[0]
push eax
sub esp, 0xf68
mov eax, dword [0x100e800c]
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 - 0x1fc], 0
mov dword [ebp - 0x200], 0
mov dword [ebp - 0x204], 0
mov dword [ebp - 0x208], 0
mov eax, dword [0x10141f78]
mov dword [ebp - 0xdcc], eax
mov dword [ebp - 0xb60], 0x100c8b90
mov ecx, dword [ebp - 0xb60]
mov dword [ebp - 0xdb4], ecx
mov edx, dword [0x101a9abc]
mov eax, dword [edx + 8]
mov dword [ebp - 0xdbc], eax
mov ecx, dword [ebp - 0xdb4]
push ecx
push 0xfffffffffffffffc
mov edx, dword [ebp - 0xdbc]
push edx
call dword [ebp - 0xdcc]
mov ecx, dword [ebp - 0x20c]
mov dword [ecx + 0x17c], eax
mov edx, dword [ebp - 0x20c]
mov dword [ebp - 0x224], edx
mov eax, dword [0x101a9a54]
mov dword [ebp - 0xdd4], eax
lea ecx, [ebp - 0x294]
mov dword [ebp - 0x53c], ecx
mov edx, dword [ebp - 0x53c]
mov eax, dword [ebp - 0xdd4]
mov dword [edx], eax
mov ecx, dword [ebp - 0x53c]
mov dword [ebp - 0xe54], ecx
mov dword [ebp - 4], 0
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x294]
mov dword [edx], eax
mov ecx, dword [ebp - 0x294]
mov edx, dword [ecx]
mov dword [ebp - 0xe04], edx
mov eax, dword [ebp - 0x224]
mov ecx, dword [ebp - 0xe04]
mov dword [eax + 4], ecx
mov edx, dword [ebp - 0x224]
cmp dword [edx + 4], 0
jne 0x10095f32
mov dword [ebp - 4], 0xffffffff
jmp 0x1009616d
mov dword [ebp - 0x308], 0
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x308]
mov eax, dword [ecx + edx*4]
mov dword [ebp - 0x640], eax
cmp dword [ebp - 0x640], 0
jne 0x10095f66
mov byte [ebp - 0x21a], 0
jmp 0x10095fbe
mov ecx, dword [0x10141f74]
mov dword [ebp - 0xe08], ecx
push 0x1c
lea edx, [ebp - 0x100]
push edx
mov eax, dword [ebp - 0x640]
push eax
call dword [ebp - 0xe08]
test eax, eax
jne 0x10095f95
mov byte [ebp - 0x21a], 0
jmp 0x10095fbe
mov ecx, dword [ebp - 0xec]
and ecx, 1
jne 0x10095fae
mov edx, dword [ebp - 0xec]
and edx, 0x100
je 0x10095fb7
mov byte [ebp - 0x21a], 0
jmp 0x10095fbe
mov byte [ebp - 0x21a], 1
movzx eax, byte [ebp - 0x21a]
test eax, eax
je 0x10095fdd
mov ecx, dword [ebp - 0x308]
add ecx, 1
mov dword [ebp - 0x308], ecx
jmp 0x10095f3c
mov edx, dword [ebp - 0x224]
mov eax, dword [ebp - 0x308]
mov dword [edx + 0xc], eax
mov ecx, dword [ebp - 0x224]
cmp dword [ecx + 0xc], 0
jne 0x10096004
mov dword [ebp - 4], 0xffffffff
jmp 0x1009616d
mov edx, 1
test edx, edx
je 0x10096021
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0xc]
add ecx, 1
mov dword [ebp - 0x644], ecx
jmp 0x10096030
mov edx, dword [ebp - 0x224]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x644], eax
mov edx, dword [ebp - 0x644]
lea ecx, [ebp - 0xe10]
call fcn.1004d160
mov dword [ebp - 0xe0c], eax
mov ecx, dword [ebp - 0xe0c]
push ecx
mov ecx, dword [ebp - 0x224]
add ecx, 8
call fcn.1004d200
lea ecx, [ebp - 0xe10]
call fcn.1004cb80
mov ecx, dword [ebp - 0x224]
add ecx, 8
call fcn.1004cb60
movzx edx, al
test edx, edx
jne 0x10096088
mov dword [ebp - 4], 0xffffffff
jmp 0x1009616d
mov ecx, dword [ebp - 0x224]
add ecx, 8
call fcn.1003cf40
mov dword [ebp - 0xe14], eax
mov eax, dword [ebp - 0xe14]
mov dword [ebp - 0x18], eax
mov ecx, 1
test ecx, ecx
je 0x10096121
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0xe18], edx
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0xc]
lea edx, [ecx*4 + 4]
push edx
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 4]
sub ecx, 4
push ecx
mov edx, dword [ebp - 0xe18]
push edx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0xe1c], eax
mov ecx, dword [ebp - 0xe1c]
add ecx, 4
mov dword [ebp - 0xe20], ecx
cmp dword [ebp - 0x294], 0
jne 0x10096107
jmp 0x10096115
mov edx, dword [ebp - 0x294]
mov eax, dword [ebp - 0xe20]
mov dword [edx], eax
mov ecx, dword [ebp - 0x224]
mov byte [ecx + 0x10], 1
jmp 0x10096166
mov edx, dword [ebp - 0x18]
mov dword [ebp - 0xe24], edx
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax + 0xc]
shl ecx, 2
push ecx
mov edx, dword [ebp - 0x224]
mov eax, dword [edx + 4]
push eax
mov ecx, dword [ebp - 0xe24]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x294], 0
jne 0x1009615b
jmp 0x10096166
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x294]
mov dword [eax], edx
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [ebp - 0x20c]
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0xe28], 0x100ae560
mov edx, dword [ebp - 0x298]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100961a1
mov ecx, 0x29
add ecx, 1
mov dword [ebp - 0x648], ecx
jmp 0x100961ab
mov dword [ebp - 0x648], 0x29
mov edx, dword [ebp - 0x648]
mov dword [ebp - 0x64c], edx
mov eax, dword [ebp - 0x298]
cmp dword [eax + 4], 0
je 0x100961e9
mov ecx, dword [ebp - 0x298]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x100961e9
mov edx, dword [ebp - 0x298]
mov eax, dword [ebp - 0x64c]
cmp eax, dword [edx + 0xc]
jbe 0x10096213
mov dword [ebp - 0x3c0], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 1
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x3c0]
mov dword [ebp - 0x6a0], edx
jmp 0x10096352
mov eax, dword [ebp - 0xe28]
mov dword [ebp - 0xe2c], eax
mov ecx, dword [ebp - 0xe2c]
mov dword [ebp - 0xe34], ecx
mov edx, dword [ebp - 0x298]
add edx, 8
mov dword [ebp - 0xe30], edx
mov eax, dword [ebp - 0x64c]
push eax
mov ecx, dword [ebp - 0xe30]
call fcn.1004cb70
mov ecx, dword [ebp - 0xe34]
mov dword [eax], ecx
mov edx, 0x29
shl edx, 2
mov eax, dword [ebp - 0x298]
add edx, dword [eax + 4]
mov dword [ebp - 0x650], edx
mov ecx, dword [ebp - 0x650]
cmp dword [ecx], 0
je 0x100962b9
mov edx, dword [ebp - 0x650]
mov eax, dword [edx]
mov dword [ebp - 0xe38], eax
mov ecx, dword [ebp - 0xe38]
mov dword [ebp - 0xe3c], ecx
lea edx, [ebp - 0xe3c]
mov dword [ebp - 0x690], edx
mov eax, dword [ebp - 0x1fc]
or eax, 2
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x690]
mov dword [ebp - 0x654], ecx
jmp 0x100962ea
mov dword [ebp - 0x694], 0
lea edx, [ebp - 0x694]
mov dword [ebp - 0x698], edx
mov eax, dword [ebp - 0x1fc]
or eax, 4
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x698]
mov dword [ebp - 0x654], ecx
mov edx, dword [ebp - 0x654]
mov dword [ebp - 0x69c], edx
mov eax, dword [ebp - 0x69c]
mov ecx, dword [eax]
mov dword [ebp - 0x3c0], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 8
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 4
je 0x10096325
and dword [ebp - 0x1fc], 0xfffffffb
mov ecx, dword [ebp - 0x1fc]
and ecx, 2
je 0x10096337
and dword [ebp - 0x1fc], 0xfffffffd
mov edx, dword [ebp - 0x1fc]
or edx, 1
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x3c0]
mov dword [ebp - 0x6a0], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x28
mov dword [ebp - 0x234], ecx
mov edx, dword [0x101a9a3c]
mov dword [ebp - 0x6a4], edx
lea eax, [ebp - 0x29c]
mov dword [ebp - 0x658], eax
mov ecx, dword [ebp - 0x658]
mov edx, dword [ebp - 0x6a4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x658]
mov dword [ebp - 0xe58], eax
mov dword [ebp - 4], 1
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x29c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x29c]
mov ecx, dword [eax]
mov dword [ebp - 0x6a8], ecx
mov edx, dword [ebp - 0x234]
mov eax, dword [ebp - 0x6a8]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x234]
cmp dword [ecx + 4], 0
jne 0x100963dd
mov dword [ebp - 4], 0xffffffff
jmp 0x10096617
mov dword [ebp - 0x318], 0
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x318]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x65c], 0
jne 0x10096411
mov byte [ebp - 0x20d], 0
jmp 0x10096468
mov eax, dword [0x10141f74]
mov dword [ebp - 0x6ac], eax
push 0x1c
lea ecx, [ebp - 0x11c]
push ecx
mov edx, dword [ebp - 0x65c]
push edx
call dword [ebp - 0x6ac]
test eax, eax
jne 0x1009643f
mov byte [ebp - 0x20d], 0
jmp 0x10096468
mov eax, dword [ebp - 0x108]
and eax, 1
jne 0x10096458
mov ecx, dword [ebp - 0x108]
and ecx, 0x100
je 0x10096461
mov byte [ebp - 0x20d], 0
jmp 0x10096468
mov byte [ebp - 0x20d], 1
movzx edx, byte [ebp - 0x20d]
test edx, edx
je 0x10096487
mov eax, dword [ebp - 0x318]
add eax, 1
mov dword [ebp - 0x318], eax
jmp 0x100963e7
mov ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x318]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x234]
cmp dword [eax + 0xc], 0
jne 0x100964ae
mov dword [ebp - 4], 0xffffffff
jmp 0x10096617
mov ecx, 1
test ecx, ecx
je 0x100964cb
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x660], eax
jmp 0x100964da
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x660], edx
mov edx, dword [ebp - 0x660]
lea ecx, [ebp - 0x6b4]
call fcn.1004d160
mov dword [ebp - 0x6b0], eax
mov eax, dword [ebp - 0x6b0]
push eax
mov ecx, dword [ebp - 0x234]
add ecx, 8
call fcn.1004d200
lea ecx, [ebp - 0x6b4]
call fcn.1004cb80
mov ecx, dword [ebp - 0x234]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
jne 0x10096532
mov dword [ebp - 4], 0xffffffff
jmp 0x10096617
mov ecx, dword [ebp - 0x234]
add ecx, 8
call fcn.1003cf40
mov dword [ebp - 0x6b8], eax
mov edx, dword [ebp - 0x6b8]
mov dword [ebp - 0x48], edx
mov eax, 1
test eax, eax
je 0x100965cb
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x6bc], ecx
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0xc]
lea ecx, [eax*4 + 4]
push ecx
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 4]
sub eax, 4
push eax
mov ecx, dword [ebp - 0x6bc]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x6c0]
add eax, 4
mov dword [ebp - 0x6c4], eax
cmp dword [ebp - 0x29c], 0
jne 0x100965b1
jmp 0x100965bf
mov ecx, dword [ebp - 0x29c]
mov edx, dword [ebp - 0x6c4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x234]
mov byte [eax + 0x10], 1
jmp 0x10096610
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x6c8], ecx
mov edx, dword [ebp - 0x234]
mov eax, dword [edx + 0xc]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x234]
mov edx, dword [ecx + 4]
push edx
mov eax, dword [ebp - 0x6c8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x29c], 0
jne 0x10096605
jmp 0x10096610
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x29c]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x28
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x6cc], 0x100a1f80
mov ecx, dword [ebp - 0x2a0]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x1009664e
mov eax, 5
add eax, 1
mov dword [ebp - 0x664], eax
jmp 0x10096658
mov dword [ebp - 0x664], 5
mov ecx, dword [ebp - 0x664]
mov dword [ebp - 0x668], ecx
mov edx, dword [ebp - 0x2a0]
cmp dword [edx + 4], 0
je 0x10096696
mov ecx, dword [ebp - 0x2a0]
add ecx, 8
call fcn.1004cb60
movzx eax, al
test eax, eax
je 0x10096696
mov ecx, dword [ebp - 0x2a0]
mov edx, dword [ebp - 0x668]
cmp edx, dword [ecx + 0xc]
jbe 0x100966c0
mov dword [ebp - 0x37c], 0
mov eax, dword [ebp - 0x1fc]
or eax, 0x10
mov dword [ebp - 0x1fc], eax
lea ecx, [ebp - 0x37c]
mov dword [ebp - 0x6f4], ecx
jmp 0x10096802
mov edx, dword [ebp - 0x6cc]
mov dword [ebp - 0x6d0], edx
mov eax, dword [ebp - 0x6d0]
mov dword [ebp - 0x6d8], eax
mov ecx, dword [ebp - 0x2a0]
add ecx, 8
mov dword [ebp - 0x6d4], ecx
mov edx, dword [ebp - 0x668]
push edx
mov ecx, dword [ebp - 0x6d4]
call fcn.1004cb70
mov ecx, dword [ebp - 0x6d8]
mov dword [eax], ecx
mov edx, 5
shl edx, 2
mov eax, dword [ebp - 0x2a0]
add edx, dword [eax + 4]
mov dword [ebp - 0x66c], edx
mov ecx, dword [ebp - 0x66c]
cmp dword [ecx], 0
je 0x10096766
mov edx, dword [ebp - 0x66c]
mov eax, dword [edx]
mov dword [ebp - 0x6dc], eax
mov ecx, dword [ebp - 0x6dc]
mov dword [ebp - 0x6e0], ecx
lea edx, [ebp - 0x6e0]
mov dword [ebp - 0x6e4], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x20
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x6e4]
mov dword [ebp - 0x670], ecx
jmp 0x10096797
mov dword [ebp - 0x6e8], 0
lea edx, [ebp - 0x6e8]
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x40
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x6ec]
mov dword [ebp - 0x670], ecx
mov edx, dword [ebp - 0x670]
mov dword [ebp - 0x6f0], edx
mov eax, dword [ebp - 0x6f0]
mov ecx, dword [eax]
mov dword [ebp - 0x37c], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x80
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x40
je 0x100967d5
and dword [ebp - 0x1fc], 0xffffffbf
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x20
je 0x100967e7
and dword [ebp - 0x1fc], 0xffffffdf
mov edx, dword [ebp - 0x1fc]
or edx, 0x10
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x37c]
mov dword [ebp - 0x6f4], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x28
mov dword [ebp - 0x2a4], ecx
mov dword [ebp - 0x6f8], 0x100a2040
mov edx, dword [ebp - 0x2a4]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10096839
mov ecx, 6
add ecx, 1
mov dword [ebp - 0x674], ecx
jmp 0x10096843
mov dword [ebp - 0x674], 6
mov edx, dword [ebp - 0x674]
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x2a4]
cmp dword [eax + 4], 0
je 0x10096881
mov ecx, dword [ebp - 0x2a4]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x10096881
mov edx, dword [ebp - 0x2a4]
mov eax, dword [ebp - 0x678]
cmp eax, dword [edx + 0xc]
jbe 0x100968ae
mov dword [ebp - 0x384], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x100
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x384]
mov dword [ebp - 0x720], edx
jmp 0x10096a02
mov eax, dword [ebp - 0x6f8]
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x6fc]
mov dword [ebp - 0x704], ecx
mov edx, dword [ebp - 0x2a4]
add edx, 8
mov dword [ebp - 0x700], edx
mov eax, dword [ebp - 0x678]
push eax
mov ecx, dword [ebp - 0x700]
call fcn.1004cb70
mov ecx, dword [ebp - 0x704]
mov dword [eax], ecx
mov edx, 6
shl edx, 2
mov eax, dword [ebp - 0x2a4]
add edx, dword [eax + 4]
mov dword [ebp - 0x67c], edx
mov ecx, dword [ebp - 0x67c]
cmp dword [ecx], 0
je 0x10096956
mov edx, dword [ebp - 0x67c]
mov eax, dword [edx]
mov dword [ebp - 0x708], eax
mov ecx, dword [ebp - 0x708]
mov dword [ebp - 0x70c], ecx
lea edx, [ebp - 0x70c]
mov dword [ebp - 0x710], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x200
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x710]
mov dword [ebp - 0x680], ecx
jmp 0x10096989
mov dword [ebp - 0x714], 0
lea edx, [ebp - 0x714]
mov dword [ebp - 0x718], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x400
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x718]
mov dword [ebp - 0x680], ecx
mov edx, dword [ebp - 0x680]
mov dword [ebp - 0x71c], edx
mov eax, dword [ebp - 0x71c]
mov ecx, dword [eax]
mov dword [ebp - 0x384], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x800
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x400
je 0x100969cc
and dword [ebp - 0x1fc], 0xfffffbff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x200
je 0x100969e4
and dword [ebp - 0x1fc], 0xfffffdff
mov edx, dword [ebp - 0x1fc]
or edx, 0x100
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x384]
mov dword [ebp - 0x720], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x28
mov dword [ebp - 0x2a8], ecx
mov dword [ebp - 0x724], 0x100a2070
mov edx, dword [ebp - 0x2a8]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10096a39
mov ecx, 7
add ecx, 1
mov dword [ebp - 0x684], ecx
jmp 0x10096a43
mov dword [ebp - 0x684], 7
mov edx, dword [ebp - 0x684]
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x2a8]
cmp dword [eax + 4], 0
je 0x10096a81
mov ecx, dword [ebp - 0x2a8]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x10096a81
mov edx, dword [ebp - 0x2a8]
mov eax, dword [ebp - 0x688]
cmp eax, dword [edx + 0xc]
jbe 0x10096aae
mov dword [ebp - 0x38c], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x1000
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x38c]
mov dword [ebp - 0x74c], edx
jmp 0x10096c02
mov eax, dword [ebp - 0x724]
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x728]
mov dword [ebp - 0x730], ecx
mov edx, dword [ebp - 0x2a8]
add edx, 8
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x688]
push eax
mov ecx, dword [ebp - 0x72c]
call fcn.1004cb70
mov ecx, dword [ebp - 0x730]
mov dword [eax], ecx
mov edx, 7
shl edx, 2
mov eax, dword [ebp - 0x2a8]
add edx, dword [eax + 4]
mov dword [ebp - 0x3c8], edx
mov ecx, dword [ebp - 0x3c8]
cmp dword [ecx], 0
je 0x10096b56
mov edx, dword [ebp - 0x3c8]
mov eax, dword [edx]
mov dword [ebp - 0x734], eax
mov ecx, dword [ebp - 0x734]
mov dword [ebp - 0x738], ecx
lea edx, [ebp - 0x738]
mov dword [ebp - 0x73c], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x2000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x73c]
mov dword [ebp - 0x3cc], ecx
jmp 0x10096b89
mov dword [ebp - 0x740], 0
lea edx, [ebp - 0x740]
mov dword [ebp - 0x744], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x4000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x744]
mov dword [ebp - 0x3cc], ecx
mov edx, dword [ebp - 0x3cc]
mov dword [ebp - 0x748], edx
mov eax, dword [ebp - 0x748]
mov ecx, dword [eax]
mov dword [ebp - 0x38c], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x8000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x4000
je 0x10096bcc
and dword [ebp - 0x1fc], 0xffffbfff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x2000
je 0x10096be4
and dword [ebp - 0x1fc], 0xffffdfff
mov edx, dword [ebp - 0x1fc]
or edx, 0x1000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x38c]
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x28
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x750], 0x100a20e0
mov edx, dword [ebp - 0x2ac]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10096c39
mov ecx, 0x24
add ecx, 1
mov dword [ebp - 0x3d0], ecx
jmp 0x10096c43
mov dword [ebp - 0x3d0], 0x24
mov edx, dword [ebp - 0x3d0]
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x2ac]
cmp dword [eax + 4], 0
je 0x10096c81
mov ecx, dword [ebp - 0x2ac]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x10096c81
mov edx, dword [ebp - 0x2ac]
mov eax, dword [ebp - 0x3d4]
cmp eax, dword [edx + 0xc]
jbe 0x10096cae
mov dword [ebp - 0x390], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x10000
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x390]
mov dword [ebp - 0x778], edx
jmp 0x10096e02
mov eax, dword [ebp - 0x750]
mov dword [ebp - 0x754], eax
mov ecx, dword [ebp - 0x754]
mov dword [ebp - 0x75c], ecx
mov edx, dword [ebp - 0x2ac]
add edx, 8
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x3d4]
push eax
mov ecx, dword [ebp - 0x758]
call fcn.1004cb70
mov ecx, dword [ebp - 0x75c]
mov dword [eax], ecx
mov edx, 0x24
shl edx, 2
mov eax, dword [ebp - 0x2ac]
add edx, dword [eax + 4]
mov dword [ebp - 0x3d8], edx
mov ecx, dword [ebp - 0x3d8]
cmp dword [ecx], 0
je 0x10096d56
mov edx, dword [ebp - 0x3d8]
mov eax, dword [edx]
mov dword [ebp - 0x760], eax
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x764], ecx
lea edx, [ebp - 0x764]
mov dword [ebp - 0x768], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x20000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x3dc], ecx
jmp 0x10096d89
mov dword [ebp - 0x76c], 0
lea edx, [ebp - 0x76c]
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x40000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x770]
mov dword [ebp - 0x3dc], ecx
mov edx, dword [ebp - 0x3dc]
mov dword [ebp - 0x774], edx
mov eax, dword [ebp - 0x774]
mov ecx, dword [eax]
mov dword [ebp - 0x390], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x80000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x40000
je 0x10096dcc
and dword [ebp - 0x1fc], 0xfffbffff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x20000
je 0x10096de4
and dword [ebp - 0x1fc], 0xfffdffff
mov edx, dword [ebp - 0x1fc]
or edx, 0x10000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x390]
mov dword [ebp - 0x778], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x50
mov dword [ebp - 0x254], ecx
mov edx, dword [0x101a9a44]
mov dword [ebp - 0x77c], edx
lea eax, [ebp - 0x2b0]
mov dword [ebp - 0x3e0], eax
mov ecx, dword [ebp - 0x3e0]
mov edx, dword [ebp - 0x77c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x3e0]
mov dword [ebp - 0xe5c], eax
mov dword [ebp - 4], 2
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x2b0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2b0]
mov ecx, dword [eax]
mov dword [ebp - 0x780], ecx
mov edx, dword [ebp - 0x254]
mov eax, dword [ebp - 0x780]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x254]
cmp dword [ecx + 4], 0
jne 0x10096e8d
mov dword [ebp - 4], 0xffffffff
jmp 0x100970c1
mov dword [ebp - 0x328], 0
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x328]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x3e4], edx
cmp dword [ebp - 0x3e4], 0
jne 0x10096ec1
mov byte [ebp - 0x20e], 0
jmp 0x10096f12
mov eax, dword [0x10141f74]
mov dword [ebp - 0x784], eax
push 0x1c
lea ecx, [ebp - 0x90]
push ecx
mov edx, dword [ebp - 0x3e4]
push edx
call dword [ebp - 0x784]
test eax, eax
jne 0x10096eef
mov byte [ebp - 0x20e], 0
jmp 0x10096f12
mov eax, dword [ebp - 0x7c]
and eax, 1
jne 0x10096f02
mov ecx, dword [ebp - 0x7c]
and ecx, 0x100
je 0x10096f0b
mov byte [ebp - 0x20e], 0
jmp 0x10096f12
mov byte [ebp - 0x20e], 1
movzx edx, byte [ebp - 0x20e]
test edx, edx
je 0x10096f31
mov eax, dword [ebp - 0x328]
add eax, 1
mov dword [ebp - 0x328], eax
jmp 0x10096e97
mov ecx, dword [ebp - 0x254]
mov edx, dword [ebp - 0x328]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x254]
cmp dword [eax + 0xc], 0
jne 0x10096f58
mov dword [ebp - 4], 0xffffffff
jmp 0x100970c1
mov ecx, 1
test ecx, ecx
je 0x10096f75
mov edx, dword [ebp - 0x254]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x3e8], eax
jmp 0x10096f84
mov ecx, dword [ebp - 0x254]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x3e8], edx
mov edx, dword [ebp - 0x3e8]
lea ecx, [ebp - 0x78c]
call fcn.1004d160
mov dword [ebp - 0x788], eax
mov eax, dword [ebp - 0x788]
push eax
mov ecx, dword [ebp - 0x254]
add ecx, 8
call fcn.1004d200
lea ecx, [ebp - 0x78c]
call fcn.1004cb80
mov ecx, dword [ebp - 0x254]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
jne 0x10096fdc
mov dword [ebp - 4], 0xffffffff
jmp 0x100970c1
mov ecx, dword [ebp - 0x254]
add ecx, 8
call fcn.1003cf40
mov dword [ebp - 0x790], eax
mov edx, dword [ebp - 0x790]
mov dword [ebp - 0x24], edx
mov eax, 1
test eax, eax
je 0x10097075
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x794], 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 - 0x794]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x24]
mov dword [ebp - 0x798], edx
mov eax, dword [ebp - 0x798]
add eax, 4
mov dword [ebp - 0x79c], eax
cmp dword [ebp - 0x2b0], 0
jne 0x1009705b
jmp 0x10097069
mov ecx, dword [ebp - 0x2b0]
mov edx, dword [ebp - 0x79c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x254]
mov byte [eax + 0x10], 1
jmp 0x100970ba
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x7a0], 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 - 0x7a0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2b0], 0
jne 0x100970af
jmp 0x100970ba
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x2b0]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x50
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x7a4], 0x1009ffa0
mov ecx, dword [ebp - 0x2b4]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100970f8
mov eax, 0x1b
add eax, 1
mov dword [ebp - 0x3ec], eax
jmp 0x10097102
mov dword [ebp - 0x3ec], 0x1b
mov ecx, dword [ebp - 0x3ec]
mov dword [ebp - 0x3f0], ecx
mov edx, dword [ebp - 0x2b4]
cmp dword [edx + 4], 0
je 0x10097140
mov ecx, dword [ebp - 0x2b4]
add ecx, 8
call fcn.1004cb60
movzx eax, al
test eax, eax
je 0x10097140
mov ecx, dword [ebp - 0x2b4]
mov edx, dword [ebp - 0x3f0]
cmp edx, dword [ecx + 0xc]
jbe 0x1009716c
mov dword [ebp - 0x394], 0
mov eax, dword [ebp - 0x1fc]
or eax, 0x100000
mov dword [ebp - 0x1fc], eax
lea ecx, [ebp - 0x394]
mov dword [ebp - 0x7cc], ecx
jmp 0x100972c0
mov edx, dword [ebp - 0x7a4]
mov dword [ebp - 0x7a8], edx
mov eax, dword [ebp - 0x7a8]
mov dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x2b4]
add ecx, 8
mov dword [ebp - 0x7ac], ecx
mov edx, dword [ebp - 0x3f0]
push edx
mov ecx, dword [ebp - 0x7ac]
call fcn.1004cb70
mov ecx, dword [ebp - 0x7b0]
mov dword [eax], ecx
mov edx, 0x1b
shl edx, 2
mov eax, dword [ebp - 0x2b4]
add edx, dword [eax + 4]
mov dword [ebp - 0x3f4], edx
mov ecx, dword [ebp - 0x3f4]
cmp dword [ecx], 0
je 0x10097214
mov edx, dword [ebp - 0x3f4]
mov eax, dword [edx]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b4]
mov dword [ebp - 0x7b8], ecx
lea edx, [ebp - 0x7b8]
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x200000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x7bc]
mov dword [ebp - 0x3f8], ecx
jmp 0x10097247
mov dword [ebp - 0x7c0], 0
lea edx, [ebp - 0x7c0]
mov dword [ebp - 0x7c4], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x400000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x3f8]
mov dword [ebp - 0x7c8], edx
mov eax, dword [ebp - 0x7c8]
mov ecx, dword [eax]
mov dword [ebp - 0x394], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x800000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x400000
je 0x1009728a
and dword [ebp - 0x1fc], 0xffbfffff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x200000
je 0x100972a2
and dword [ebp - 0x1fc], 0xffdfffff
mov edx, dword [ebp - 0x1fc]
or edx, 0x100000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x394]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x50
mov dword [ebp - 0x2b8], ecx
mov dword [ebp - 0x7d0], 0x100a0130
mov edx, dword [ebp - 0x2b8]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100972f7
mov ecx, 0x5d
add ecx, 1
mov dword [ebp - 0x3fc], ecx
jmp 0x10097301
mov dword [ebp - 0x3fc], 0x5d
mov edx, dword [ebp - 0x3fc]
mov dword [ebp - 0x400], edx
mov eax, dword [ebp - 0x2b8]
cmp dword [eax + 4], 0
je 0x1009733f
mov ecx, dword [ebp - 0x2b8]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x1009733f
mov edx, dword [ebp - 0x2b8]
mov eax, dword [ebp - 0x400]
cmp eax, dword [edx + 0xc]
jbe 0x1009736c
mov dword [ebp - 0x398], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x1000000
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x398]
mov dword [ebp - 0x7f8], edx
jmp 0x100974c0
mov eax, dword [ebp - 0x7d0]
mov dword [ebp - 0x7d4], eax
mov ecx, dword [ebp - 0x7d4]
mov dword [ebp - 0x7dc], ecx
mov edx, dword [ebp - 0x2b8]
add edx, 8
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x400]
push eax
mov ecx, dword [ebp - 0x7d8]
call fcn.1004cb70
mov ecx, dword [ebp - 0x7dc]
mov dword [eax], ecx
mov edx, 0x5d
shl edx, 2
mov eax, dword [ebp - 0x2b8]
add edx, dword [eax + 4]
mov dword [ebp - 0x404], edx
mov ecx, dword [ebp - 0x404]
cmp dword [ecx], 0
je 0x10097414
mov edx, dword [ebp - 0x404]
mov eax, dword [edx]
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x7e0]
mov dword [ebp - 0x7e4], ecx
lea edx, [ebp - 0x7e4]
mov dword [ebp - 0x7e8], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x2000000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x7e8]
mov dword [ebp - 0x408], ecx
jmp 0x10097447
mov dword [ebp - 0x7ec], 0
lea edx, [ebp - 0x7ec]
mov dword [ebp - 0x7f0], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x4000000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x7f0]
mov dword [ebp - 0x408], ecx
mov edx, dword [ebp - 0x408]
mov dword [ebp - 0x7f4], edx
mov eax, dword [ebp - 0x7f4]
mov ecx, dword [eax]
mov dword [ebp - 0x398], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x8000000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x4000000
je 0x1009748a
and dword [ebp - 0x1fc], 0xfbffffff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x2000000
je 0x100974a2
and dword [ebp - 0x1fc], 0xfdffffff
mov edx, dword [ebp - 0x1fc]
or edx, 0x1000000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x398]
mov dword [ebp - 0x7f8], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x50
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x7fc], 0x100a0360
mov edx, dword [ebp - 0x2bc]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100974f7
mov ecx, 0x5a
add ecx, 1
mov dword [ebp - 0x40c], ecx
jmp 0x10097501
mov dword [ebp - 0x40c], 0x5a
mov edx, dword [ebp - 0x40c]
mov dword [ebp - 0x410], edx
mov eax, dword [ebp - 0x2bc]
cmp dword [eax + 4], 0
je 0x1009753f
mov ecx, dword [ebp - 0x2bc]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x1009753f
mov edx, dword [ebp - 0x2bc]
mov eax, dword [ebp - 0x410]
cmp eax, dword [edx + 0xc]
jbe 0x1009756c
mov dword [ebp - 0x39c], 0
mov ecx, dword [ebp - 0x1fc]
or ecx, 0x10000000
mov dword [ebp - 0x1fc], ecx
lea edx, [ebp - 0x39c]
mov dword [ebp - 0x824], edx
jmp 0x100976c0
mov eax, dword [ebp - 0x7fc]
mov dword [ebp - 0x800], eax
mov ecx, dword [ebp - 0x800]
mov dword [ebp - 0x808], ecx
mov edx, dword [ebp - 0x2bc]
add edx, 8
mov dword [ebp - 0x804], edx
mov eax, dword [ebp - 0x410]
push eax
mov ecx, dword [ebp - 0x804]
call fcn.1004cb70
mov ecx, dword [ebp - 0x808]
mov dword [eax], ecx
mov edx, 0x5a
shl edx, 2
mov eax, dword [ebp - 0x2bc]
add edx, dword [eax + 4]
mov dword [ebp - 0x414], edx
mov ecx, dword [ebp - 0x414]
cmp dword [ecx], 0
je 0x10097614
mov edx, dword [ebp - 0x414]
mov eax, dword [edx]
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x80c]
mov dword [ebp - 0x810], ecx
lea edx, [ebp - 0x810]
mov dword [ebp - 0x814], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x20000000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x814]
mov dword [ebp - 0x418], ecx
jmp 0x10097647
mov dword [ebp - 0x818], 0
lea edx, [ebp - 0x818]
mov dword [ebp - 0x81c], edx
mov eax, dword [ebp - 0x1fc]
or eax, 0x40000000
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x81c]
mov dword [ebp - 0x418], ecx
mov edx, dword [ebp - 0x418]
mov dword [ebp - 0x820], edx
mov eax, dword [ebp - 0x820]
mov ecx, dword [eax]
mov dword [ebp - 0x39c], ecx
mov edx, dword [ebp - 0x1fc]
or edx, 0x80000000
mov dword [ebp - 0x1fc], edx
mov eax, dword [ebp - 0x1fc]
and eax, 0x40000000
je 0x1009768a
and dword [ebp - 0x1fc], 0xbfffffff
mov ecx, dword [ebp - 0x1fc]
and ecx, 0x20000000
je 0x100976a2
and dword [ebp - 0x1fc], 0xdfffffff
mov edx, dword [ebp - 0x1fc]
or edx, 0x10000000
mov dword [ebp - 0x1fc], edx
lea eax, [ebp - 0x39c]
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x50
mov dword [ebp - 0x2c0], ecx
mov dword [ebp - 0x828], 0x100a00f0
mov edx, dword [ebp - 0x2c0]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x100976f7
mov ecx, 0x52
add ecx, 1
mov dword [ebp - 0x41c], ecx
jmp 0x10097701
mov dword [ebp - 0x41c], 0x52
mov edx, dword [ebp - 0x41c]
mov dword [ebp - 0x420], edx
mov eax, dword [ebp - 0x2c0]
cmp dword [eax + 4], 0
je 0x1009773f
mov ecx, dword [ebp - 0x2c0]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x1009773f
mov edx, dword [ebp - 0x2c0]
mov eax, dword [ebp - 0x420]
cmp eax, dword [edx + 0xc]
jbe 0x10097769
mov dword [ebp - 0x3a0], 0
mov ecx, dword [ebp - 0x200]
or ecx, 1
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x3a0]
mov dword [ebp - 0x850], edx
jmp 0x100978a8
mov eax, dword [ebp - 0x828]
mov dword [ebp - 0x82c], eax
mov ecx, dword [ebp - 0x82c]
mov dword [ebp - 0x834], ecx
mov edx, dword [ebp - 0x2c0]
add edx, 8
mov dword [ebp - 0x830], edx
mov eax, dword [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x830]
call fcn.1004cb70
mov ecx, dword [ebp - 0x834]
mov dword [eax], ecx
mov edx, 0x52
shl edx, 2
mov eax, dword [ebp - 0x2c0]
add edx, dword [eax + 4]
mov dword [ebp - 0x424], edx
mov ecx, dword [ebp - 0x424]
cmp dword [ecx], 0
je 0x1009780f
mov edx, dword [ebp - 0x424]
mov eax, dword [edx]
mov dword [ebp - 0x838], eax
mov ecx, dword [ebp - 0x838]
mov dword [ebp - 0x83c], ecx
lea edx, [ebp - 0x83c]
mov dword [ebp - 0x840], edx
mov eax, dword [ebp - 0x200]
or eax, 2
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x840]
mov dword [ebp - 0x428], ecx
jmp 0x10097840
mov dword [ebp - 0x844], 0
lea edx, [ebp - 0x844]
mov dword [ebp - 0x848], edx
mov eax, dword [ebp - 0x200]
or eax, 4
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x848]
mov dword [ebp - 0x428], ecx
mov edx, dword [ebp - 0x428]
mov dword [ebp - 0x84c], edx
mov eax, dword [ebp - 0x84c]
mov ecx, dword [eax]
mov dword [ebp - 0x3a0], ecx
mov edx, dword [ebp - 0x200]
or edx, 8
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 4
je 0x1009787b
and dword [ebp - 0x200], 0xfffffffb
mov ecx, dword [ebp - 0x200]
and ecx, 2
je 0x1009788d
and dword [ebp - 0x200], 0xfffffffd
mov edx, dword [ebp - 0x200]
or edx, 1
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x850], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x78
mov dword [ebp - 0x24c], ecx
mov edx, dword [0x101a9a5c]
mov dword [ebp - 0x854], edx
lea eax, [ebp - 0x2c4]
mov dword [ebp - 0x42c], eax
mov ecx, dword [ebp - 0x42c]
mov edx, dword [ebp - 0x854]
mov dword [ecx], edx
mov eax, dword [ebp - 0x42c]
mov dword [ebp - 0xe60], eax
mov dword [ebp - 4], 3
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 - 0x858], ecx
mov edx, dword [ebp - 0x24c]
mov eax, dword [ebp - 0x858]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x24c]
cmp dword [ecx + 4], 0
jne 0x10097933
mov dword [ebp - 4], 0xffffffff
jmp 0x10097b6d
mov dword [ebp - 0x320], 0
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x320]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x430], edx
cmp dword [ebp - 0x430], 0
jne 0x10097967
mov byte [ebp - 0x20f], 0
jmp 0x100979be
mov eax, dword [0x10141f74]
mov dword [ebp - 0x85c], eax
push 0x1c
lea ecx, [ebp - 0x138]
push ecx
mov edx, dword [ebp - 0x430]
push edx
call dword [ebp - 0x85c]
test eax, eax
jne 0x10097995
mov byte [ebp - 0x20f], 0
jmp 0x100979be
mov eax, dword [ebp - 0x124]
and eax, 1
jne 0x100979ae
mov ecx, dword [ebp - 0x124]
and ecx, 0x100
je 0x100979b7
mov byte [ebp - 0x20f], 0
jmp 0x100979be
mov byte [ebp - 0x20f], 1
movzx edx, byte [ebp - 0x20f]
test edx, edx
je 0x100979dd
mov eax, dword [ebp - 0x320]
add eax, 1
mov dword [ebp - 0x320], eax
jmp 0x1009793d
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ebp - 0x320]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x24c]
cmp dword [eax + 0xc], 0
jne 0x10097a04
mov dword [ebp - 4], 0xffffffff
jmp 0x10097b6d
mov ecx, 1
test ecx, ecx
je 0x10097a21
mov edx, dword [ebp - 0x24c]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x434], eax
jmp 0x10097a30
mov ecx, dword [ebp - 0x24c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x434], edx
mov edx, dword [ebp - 0x434]
lea ecx, [ebp - 0x864]
call fcn.1004d160
mov dword [ebp - 0x860], eax
mov eax, dword [ebp - 0x860]
push eax
mov ecx, dword [ebp - 0x24c]
add ecx, 8
call fcn.1004d200
lea ecx, [ebp - 0x864]
call fcn.1004cb80
mov ecx, dword [ebp - 0x24c]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
jne 0x10097a88
mov dword [ebp - 4], 0xffffffff
jmp 0x10097b6d
mov ecx, dword [ebp - 0x24c]
add ecx, 8
call fcn.1003cf40
mov dword [ebp - 0x868], eax
mov edx, dword [ebp - 0x868]
mov dword [ebp - 0x40], edx
mov eax, 1
test eax, eax
je 0x10097b21
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x86c], 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 - 0x86c]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x870]
add eax, 4
mov dword [ebp - 0x874], eax
cmp dword [ebp - 0x2c4], 0
jne 0x10097b07
jmp 0x10097b15
mov ecx, dword [ebp - 0x2c4]
mov edx, dword [ebp - 0x874]
mov dword [ecx], edx
mov eax, dword [ebp - 0x24c]
mov byte [eax + 0x10], 1
jmp 0x10097b66
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x878], 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 - 0x878]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2c4], 0
jne 0x10097b5b
jmp 0x10097b66
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x2c4]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x78
mov dword [ebp - 0x2c8], eax
mov dword [ebp - 0x87c], 0x100b9510
mov ecx, dword [ebp - 0x2c8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10097ba4
mov eax, 0xe
add eax, 1
mov dword [ebp - 0x438], eax
jmp 0x10097bae
mov dword [ebp - 0x438], 0xe
mov ecx, dword [ebp - 0x438]
mov dword [ebp - 0x43c], ecx
mov edx, dword [ebp - 0x2c8]
cmp dword [edx + 4], 0
je 0x10097bec
mov ecx, dword [ebp - 0x2c8]
add ecx, 8
call fcn.1004cb60
movzx eax, al
test eax, eax
je 0x10097bec
mov ecx, dword [ebp - 0x2c8]
mov edx, dword [ebp - 0x43c]
cmp edx, dword [ecx + 0xc]
jbe 0x10097c16
mov dword [ebp - 0x378], 0
mov eax, dword [ebp - 0x200]
or eax, 0x10
mov dword [ebp - 0x200], eax
lea ecx, [ebp - 0x378]
mov dword [ebp - 0x8a4], ecx
jmp 0x10097d58
mov edx, dword [ebp - 0x87c]
mov dword [ebp - 0x880], edx
mov eax, dword [ebp - 0x880]
mov dword [ebp - 0x888], eax
mov ecx, dword [ebp - 0x2c8]
add ecx, 8
mov dword [ebp - 0x884], ecx
mov edx, dword [ebp - 0x43c]
push edx
mov ecx, dword [ebp - 0x884]
call fcn.1004cb70
mov ecx, dword [ebp - 0x888]
mov dword [eax], ecx
mov edx, 0xe
shl edx, 2
mov eax, dword [ebp - 0x2c8]
add edx, dword [eax + 4]
mov dword [ebp - 0x440], edx
mov ecx, dword [ebp - 0x440]
cmp dword [ecx], 0
je 0x10097cbc
mov edx, dword [ebp - 0x440]
mov eax, dword [edx]
mov dword [ebp - 0x88c], eax
mov ecx, dword [ebp - 0x88c]
mov dword [ebp - 0x890], ecx
lea edx, [ebp - 0x890]
mov dword [ebp - 0x894], edx
mov eax, dword [ebp - 0x200]
or eax, 0x20
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x894]
mov dword [ebp - 0x444], ecx
jmp 0x10097ced
mov dword [ebp - 0x898], 0
lea edx, [ebp - 0x898]
mov dword [ebp - 0x89c], edx
mov eax, dword [ebp - 0x200]
or eax, 0x40
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x89c]
mov dword [ebp - 0x444], ecx
mov edx, dword [ebp - 0x444]
mov dword [ebp - 0x8a0], edx
mov eax, dword [ebp - 0x8a0]
mov ecx, dword [eax]
mov dword [ebp - 0x378], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x80
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x40
je 0x10097d2b
and dword [ebp - 0x200], 0xffffffbf
mov ecx, dword [ebp - 0x200]
and ecx, 0x20
je 0x10097d3d
and dword [ebp - 0x200], 0xffffffdf
mov edx, dword [ebp - 0x200]
or edx, 0x10
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x378]
mov dword [ebp - 0x8a4], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x78
mov dword [ebp - 0x2cc], ecx
mov dword [ebp - 0x8a8], 0x100b96f0
mov edx, dword [ebp - 0x2cc]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10097d8f
mov ecx, 0x13
add ecx, 1
mov dword [ebp - 0x448], ecx
jmp 0x10097d99
mov dword [ebp - 0x448], 0x13
mov edx, dword [ebp - 0x448]
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x2cc]
cmp dword [eax + 4], 0
je 0x10097dd7
mov ecx, dword [ebp - 0x2cc]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x10097dd7
mov edx, dword [ebp - 0x2cc]
mov eax, dword [ebp - 0x44c]
cmp eax, dword [edx + 0xc]
jbe 0x10097e04
mov dword [ebp - 0x3a8], 0
mov ecx, dword [ebp - 0x200]
or ecx, 0x100
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x3a8]
mov dword [ebp - 0x8d0], edx
jmp 0x10097f58
mov eax, dword [ebp - 0x8a8]
mov dword [ebp - 0x8ac], eax
mov ecx, dword [ebp - 0x8ac]
mov dword [ebp - 0x8b4], ecx
mov edx, dword [ebp - 0x2cc]
add edx, 8
mov dword [ebp - 0x8b0], edx
mov eax, dword [ebp - 0x44c]
push eax
mov ecx, dword [ebp - 0x8b0]
call fcn.1004cb70
mov ecx, dword [ebp - 0x8b4]
mov dword [eax], ecx
mov edx, 0x13
shl edx, 2
mov eax, dword [ebp - 0x2cc]
add edx, dword [eax + 4]
mov dword [ebp - 0x450], edx
mov ecx, dword [ebp - 0x450]
cmp dword [ecx], 0
je 0x10097eac
mov edx, dword [ebp - 0x450]
mov eax, dword [edx]
mov dword [ebp - 0x8b8], eax
mov ecx, dword [ebp - 0x8b8]
mov dword [ebp - 0x8bc], ecx
lea edx, [ebp - 0x8bc]
mov dword [ebp - 0x8c0], edx
mov eax, dword [ebp - 0x200]
or eax, 0x200
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x8c0]
mov dword [ebp - 0x454], ecx
jmp 0x10097edf
mov dword [ebp - 0x8c4], 0
lea edx, [ebp - 0x8c4]
mov dword [ebp - 0x8c8], edx
mov eax, dword [ebp - 0x200]
or eax, 0x400
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x8c8]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp - 0x454]
mov dword [ebp - 0x8cc], edx
mov eax, dword [ebp - 0x8cc]
mov ecx, dword [eax]
mov dword [ebp - 0x3a8], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x800
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x400
je 0x10097f22
and dword [ebp - 0x200], 0xfffffbff
mov ecx, dword [ebp - 0x200]
and ecx, 0x200
je 0x10097f3a
and dword [ebp - 0x200], 0xfffffdff
mov edx, dword [ebp - 0x200]
or edx, 0x100
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x3a8]
mov dword [ebp - 0x8d0], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x14
mov dword [ebp - 0x248], ecx
mov edx, dword [0x101a9aa0]
mov dword [ebp - 0x8d4], edx
lea eax, [ebp - 0x2d0]
mov dword [ebp - 0x458], eax
mov ecx, dword [ebp - 0x458]
mov edx, dword [ebp - 0x8d4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0xe64], eax
mov dword [ebp - 4], 4
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 - 0x8d8], ecx
mov edx, dword [ebp - 0x248]
mov eax, dword [ebp - 0x8d8]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x248]
cmp dword [ecx + 4], 0
jne 0x10097fe3
mov dword [ebp - 4], 0xffffffff
jmp 0x1009821d
mov dword [ebp - 0x33c], 0
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x33c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x45c], edx
cmp dword [ebp - 0x45c], 0
jne 0x10098017
mov byte [ebp - 0x210], 0
jmp 0x1009806e
mov eax, dword [0x10141f74]
mov dword [ebp - 0x8dc], eax
push 0x1c
lea ecx, [ebp - 0x154]
push ecx
mov edx, dword [ebp - 0x45c]
push edx
call dword [ebp - 0x8dc]
test eax, eax
jne 0x10098045
mov byte [ebp - 0x210], 0
jmp 0x1009806e
mov eax, dword [ebp - 0x140]
and eax, 1
jne 0x1009805e
mov ecx, dword [ebp - 0x140]
and ecx, 0x100
je 0x10098067
mov byte [ebp - 0x210], 0
jmp 0x1009806e
mov byte [ebp - 0x210], 1
movzx edx, byte [ebp - 0x210]
test edx, edx
je 0x1009808d
mov eax, dword [ebp - 0x33c]
add eax, 1
mov dword [ebp - 0x33c], eax
jmp 0x10097fed
mov ecx, dword [ebp - 0x248]
mov edx, dword [ebp - 0x33c]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x248]
cmp dword [eax + 0xc], 0
jne 0x100980b4
mov dword [ebp - 4], 0xffffffff
jmp 0x1009821d
mov ecx, 1
test ecx, ecx
je 0x100980d1
mov edx, dword [ebp - 0x248]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x460], eax
jmp 0x100980e0
mov ecx, dword [ebp - 0x248]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x460], edx
mov edx, dword [ebp - 0x460]
lea ecx, [ebp - 0x8e4]
call fcn.1004d160
mov dword [ebp - 0x8e0], eax
mov eax, dword [ebp - 0x8e0]
push eax
mov ecx, dword [ebp - 0x248]
add ecx, 8
call fcn.1004d200
lea ecx, [ebp - 0x8e4]
call fcn.1004cb80
mov ecx, dword [ebp - 0x248]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
jne 0x10098138
mov dword [ebp - 4], 0xffffffff
jmp 0x1009821d
mov ecx, dword [ebp - 0x248]
add ecx, 8
call fcn.1003cf40
mov dword [ebp - 0x8e8], eax
mov edx, dword [ebp - 0x8e8]
mov dword [ebp - 0x3c], edx
mov eax, 1
test eax, eax
je 0x100981d1
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x8ec], 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 - 0x8ec]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x8f0], edx
mov eax, dword [ebp - 0x8f0]
add eax, 4
mov dword [ebp - 0x8f4], eax
cmp dword [ebp - 0x2d0], 0
jne 0x100981b7
jmp 0x100981c5
mov ecx, dword [ebp - 0x2d0]
mov edx, dword [ebp - 0x8f4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x248]
mov byte [eax + 0x10], 1
jmp 0x10098216
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x8f8], 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 - 0x8f8]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2d0], 0
jne 0x1009820b
jmp 0x10098216
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2d0]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x14
mov dword [ebp - 0x2d4], eax
mov dword [ebp - 0x8fc], 0x100ae340
mov ecx, dword [ebp - 0x2d4]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10098254
mov eax, 0x11
add eax, 1
mov dword [ebp - 0x464], eax
jmp 0x1009825e
mov dword [ebp - 0x464], 0x11
mov ecx, dword [ebp - 0x464]
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0x2d4]
cmp dword [edx + 4], 0
je 0x1009829c
mov ecx, dword [ebp - 0x2d4]
add ecx, 8
call fcn.1004cb60
movzx eax, al
test eax, eax
je 0x1009829c
mov ecx, dword [ebp - 0x2d4]
mov edx, dword [ebp - 0x468]
cmp edx, dword [ecx + 0xc]
jbe 0x100982c8
mov dword [ebp - 0x3b0], 0
mov eax, dword [ebp - 0x200]
or eax, 0x1000
mov dword [ebp - 0x200], eax
lea ecx, [ebp - 0x3b0]
mov dword [ebp - 0x924], ecx
jmp 0x1009841c
mov edx, dword [ebp - 0x8fc]
mov dword [ebp - 0x900], edx
mov eax, dword [ebp - 0x900]
mov dword [ebp - 0x908], eax
mov ecx, dword [ebp - 0x2d4]
add ecx, 8
mov dword [ebp - 0x904], ecx
mov edx, dword [ebp - 0x468]
push edx
mov ecx, dword [ebp - 0x904]
call fcn.1004cb70
mov ecx, dword [ebp - 0x908]
mov dword [eax], ecx
mov edx, 0x11
shl edx, 2
mov eax, dword [ebp - 0x2d4]
add edx, dword [eax + 4]
mov dword [ebp - 0x46c], edx
mov ecx, dword [ebp - 0x46c]
cmp dword [ecx], 0
je 0x10098370
mov edx, dword [ebp - 0x46c]
mov eax, dword [edx]
mov dword [ebp - 0x90c], eax
mov ecx, dword [ebp - 0x90c]
mov dword [ebp - 0x910], ecx
lea edx, [ebp - 0x910]
mov dword [ebp - 0x914], edx
mov eax, dword [ebp - 0x200]
or eax, 0x2000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x914]
mov dword [ebp - 0x470], ecx
jmp 0x100983a3
mov dword [ebp - 0x918], 0
lea edx, [ebp - 0x918]
mov dword [ebp - 0x91c], edx
mov eax, dword [ebp - 0x200]
or eax, 0x4000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x91c]
mov dword [ebp - 0x470], ecx
mov edx, dword [ebp - 0x470]
mov dword [ebp - 0x920], edx
mov eax, dword [ebp - 0x920]
mov ecx, dword [eax]
mov dword [ebp - 0x3b0], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x8000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x4000
je 0x100983e6
and dword [ebp - 0x200], 0xffffbfff
mov ecx, dword [ebp - 0x200]
and ecx, 0x2000
je 0x100983fe
and dword [ebp - 0x200], 0xffffdfff
mov edx, dword [ebp - 0x200]
or edx, 0x1000
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x3b0]
mov dword [ebp - 0x924], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x14
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x928], 0x100ae370
mov edx, dword [ebp - 0x2d8]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10098453
mov ecx, 0x12
add ecx, 1
mov dword [ebp - 0x474], ecx
jmp 0x1009845d
mov dword [ebp - 0x474], 0x12
mov edx, dword [ebp - 0x474]
mov dword [ebp - 0x478], edx
mov eax, dword [ebp - 0x2d8]
cmp dword [eax + 4], 0
je 0x1009849b
mov ecx, dword [ebp - 0x2d8]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x1009849b
mov edx, dword [ebp - 0x2d8]
mov eax, dword [ebp - 0x478]
cmp eax, dword [edx + 0xc]
jbe 0x100984c8
mov dword [ebp - 0x3b8], 0
mov ecx, dword [ebp - 0x200]
or ecx, 0x10000
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x3b8]
mov dword [ebp - 0x950], edx
jmp 0x1009861c
mov eax, dword [ebp - 0x928]
mov dword [ebp - 0x92c], eax
mov ecx, dword [ebp - 0x92c]
mov dword [ebp - 0x934], ecx
mov edx, dword [ebp - 0x2d8]
add edx, 8
mov dword [ebp - 0x930], edx
mov eax, dword [ebp - 0x478]
push eax
mov ecx, dword [ebp - 0x930]
call fcn.1004cb70
mov ecx, dword [ebp - 0x934]
mov dword [eax], ecx
mov edx, 0x12
shl edx, 2
mov eax, dword [ebp - 0x2d8]
add edx, dword [eax + 4]
mov dword [ebp - 0x47c], edx
mov ecx, dword [ebp - 0x47c]
cmp dword [ecx], 0
je 0x10098570
mov edx, dword [ebp - 0x47c]
mov eax, dword [edx]
mov dword [ebp - 0x938], eax
mov ecx, dword [ebp - 0x938]
mov dword [ebp - 0x93c], ecx
lea edx, [ebp - 0x93c]
mov dword [ebp - 0x940], edx
mov eax, dword [ebp - 0x200]
or eax, 0x20000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x940]
mov dword [ebp - 0x480], ecx
jmp 0x100985a3
mov dword [ebp - 0x944], 0
lea edx, [ebp - 0x944]
mov dword [ebp - 0x948], edx
mov eax, dword [ebp - 0x200]
or eax, 0x40000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x948]
mov dword [ebp - 0x480], ecx
mov edx, dword [ebp - 0x480]
mov dword [ebp - 0x94c], edx
mov eax, dword [ebp - 0x94c]
mov ecx, dword [eax]
mov dword [ebp - 0x3b8], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x80000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x40000
je 0x100985e6
and dword [ebp - 0x200], 0xfffbffff
mov ecx, dword [ebp - 0x200]
and ecx, 0x20000
je 0x100985fe
and dword [ebp - 0x200], 0xfffdffff
mov edx, dword [ebp - 0x200]
or edx, 0x10000
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x3b8]
mov dword [ebp - 0x950], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x14
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x954], 0x100ae3c0
mov edx, dword [ebp - 0x2dc]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10098653
mov ecx, 0x18
add ecx, 1
mov dword [ebp - 0x484], ecx
jmp 0x1009865d
mov dword [ebp - 0x484], 0x18
mov edx, dword [ebp - 0x484]
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x2dc]
cmp dword [eax + 4], 0
je 0x1009869b
mov ecx, dword [ebp - 0x2dc]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x1009869b
mov edx, dword [ebp - 0x2dc]
mov eax, dword [ebp - 0x488]
cmp eax, dword [edx + 0xc]
jbe 0x100986c8
mov dword [ebp - 0x3bc], 0
mov ecx, dword [ebp - 0x200]
or ecx, 0x100000
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x3bc]
mov dword [ebp - 0x97c], edx
jmp 0x1009881c
mov eax, dword [ebp - 0x954]
mov dword [ebp - 0x958], eax
mov ecx, dword [ebp - 0x958]
mov dword [ebp - 0x960], ecx
mov edx, dword [ebp - 0x2dc]
add edx, 8
mov dword [ebp - 0x95c], edx
mov eax, dword [ebp - 0x488]
push eax
mov ecx, dword [ebp - 0x95c]
call fcn.1004cb70
mov ecx, dword [ebp - 0x960]
mov dword [eax], ecx
mov edx, 0x18
shl edx, 2
mov eax, dword [ebp - 0x2dc]
add edx, dword [eax + 4]
mov dword [ebp - 0x48c], edx
mov ecx, dword [ebp - 0x48c]
cmp dword [ecx], 0
je 0x10098770
mov edx, dword [ebp - 0x48c]
mov eax, dword [edx]
mov dword [ebp - 0x964], eax
mov ecx, dword [ebp - 0x964]
mov dword [ebp - 0x968], ecx
lea edx, [ebp - 0x968]
mov dword [ebp - 0x96c], edx
mov eax, dword [ebp - 0x200]
or eax, 0x200000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x96c]
mov dword [ebp - 0x490], ecx
jmp 0x100987a3
mov dword [ebp - 0x970], 0
lea edx, [ebp - 0x970]
mov dword [ebp - 0x974], edx
mov eax, dword [ebp - 0x200]
or eax, 0x400000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x974]
mov dword [ebp - 0x490], ecx
mov edx, dword [ebp - 0x490]
mov dword [ebp - 0x978], edx
mov eax, dword [ebp - 0x978]
mov ecx, dword [eax]
mov dword [ebp - 0x3bc], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x800000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x400000
je 0x100987e6
and dword [ebp - 0x200], 0xffbfffff
mov ecx, dword [ebp - 0x200]
and ecx, 0x200000
je 0x100987fe
and dword [ebp - 0x200], 0xffdfffff
mov edx, dword [ebp - 0x200]
or edx, 0x100000
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x3bc]
mov dword [ebp - 0x97c], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x14
mov dword [ebp - 0x2e0], ecx
mov dword [ebp - 0x980], 0x100ae530
mov edx, dword [ebp - 0x2e0]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10098853
mov ecx, 0x2c
add ecx, 1
mov dword [ebp - 0x494], ecx
jmp 0x1009885d
mov dword [ebp - 0x494], 0x2c
mov edx, dword [ebp - 0x494]
mov dword [ebp - 0x498], edx
mov eax, dword [ebp - 0x2e0]
cmp dword [eax + 4], 0
je 0x1009889b
mov ecx, dword [ebp - 0x2e0]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x1009889b
mov edx, dword [ebp - 0x2e0]
mov eax, dword [ebp - 0x498]
cmp eax, dword [edx + 0xc]
jbe 0x100988c8
mov dword [ebp - 0x340], 0
mov ecx, dword [ebp - 0x200]
or ecx, 0x1000000
mov dword [ebp - 0x200], ecx
lea edx, [ebp - 0x340]
mov dword [ebp - 0x9a8], edx
jmp 0x10098a1c
mov eax, dword [ebp - 0x980]
mov dword [ebp - 0x984], eax
mov ecx, dword [ebp - 0x984]
mov dword [ebp - 0x98c], ecx
mov edx, dword [ebp - 0x2e0]
add edx, 8
mov dword [ebp - 0x988], edx
mov eax, dword [ebp - 0x498]
push eax
mov ecx, dword [ebp - 0x988]
call fcn.1004cb70
mov ecx, dword [ebp - 0x98c]
mov dword [eax], ecx
mov edx, 0x2c
shl edx, 2
mov eax, dword [ebp - 0x2e0]
add edx, dword [eax + 4]
mov dword [ebp - 0x49c], edx
mov ecx, dword [ebp - 0x49c]
cmp dword [ecx], 0
je 0x10098970
mov edx, dword [ebp - 0x49c]
mov eax, dword [edx]
mov dword [ebp - 0x990], eax
mov ecx, dword [ebp - 0x990]
mov dword [ebp - 0x994], ecx
lea edx, [ebp - 0x994]
mov dword [ebp - 0x998], edx
mov eax, dword [ebp - 0x200]
or eax, 0x2000000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x998]
mov dword [ebp - 0x4a0], ecx
jmp 0x100989a3
mov dword [ebp - 0x99c], 0
lea edx, [ebp - 0x99c]
mov dword [ebp - 0x9a0], edx
mov eax, dword [ebp - 0x200]
or eax, 0x4000000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x9a0]
mov dword [ebp - 0x4a0], ecx
mov edx, dword [ebp - 0x4a0]
mov dword [ebp - 0x9a4], edx
mov eax, dword [ebp - 0x9a4]
mov ecx, dword [eax]
mov dword [ebp - 0x340], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x8000000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x4000000
je 0x100989e6
and dword [ebp - 0x200], 0xfbffffff
mov ecx, dword [ebp - 0x200]
and ecx, 0x2000000
je 0x100989fe
and dword [ebp - 0x200], 0xfdffffff
mov edx, dword [ebp - 0x200]
or edx, 0x1000000
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x340]
mov dword [ebp - 0x9a8], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x8c
mov dword [ebp - 0x244], ecx
mov edx, dword [0x101a9a50]
mov dword [ebp - 0x9ac], edx
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x4a4], eax
mov ecx, dword [ebp - 0x4a4]
mov edx, dword [ebp - 0x9ac]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4a4]
mov dword [ebp - 0xe68], eax
mov dword [ebp - 4], 5
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x2e4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2e4]
mov ecx, dword [eax]
mov dword [ebp - 0x9b0], ecx
mov edx, dword [ebp - 0x244]
mov eax, dword [ebp - 0x9b0]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x244]
cmp dword [ecx + 4], 0
jne 0x10098aaa
mov dword [ebp - 4], 0xffffffff
jmp 0x10098ce4
mov dword [ebp - 0x30c], 0
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x30c]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x4a8], edx
cmp dword [ebp - 0x4a8], 0
jne 0x10098ade
mov byte [ebp - 0x211], 0
jmp 0x10098b35
mov eax, dword [0x10141f74]
mov dword [ebp - 0x9b4], eax
push 0x1c
lea ecx, [ebp - 0x170]
push ecx
mov edx, dword [ebp - 0x4a8]
push edx
call dword [ebp - 0x9b4]
test eax, eax
jne 0x10098b0c
mov byte [ebp - 0x211], 0
jmp 0x10098b35
mov eax, dword [ebp - 0x15c]
and eax, 1
jne 0x10098b25
mov ecx, dword [ebp - 0x15c]
and ecx, 0x100
je 0x10098b2e
mov byte [ebp - 0x211], 0
jmp 0x10098b35
mov byte [ebp - 0x211], 1
movzx edx, byte [ebp - 0x211]
test edx, edx
je 0x10098b54
mov eax, dword [ebp - 0x30c]
add eax, 1
mov dword [ebp - 0x30c], eax
jmp 0x10098ab4
mov ecx, dword [ebp - 0x244]
mov edx, dword [ebp - 0x30c]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x244]
cmp dword [eax + 0xc], 0
jne 0x10098b7b
mov dword [ebp - 4], 0xffffffff
jmp 0x10098ce4
mov ecx, 1
test ecx, ecx
je 0x10098b98
mov edx, dword [ebp - 0x244]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x4ac], eax
jmp 0x10098ba7
mov ecx, dword [ebp - 0x244]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4ac], edx
mov edx, dword [ebp - 0x4ac]
lea ecx, [ebp - 0x9bc]
call fcn.1004d160
mov dword [ebp - 0x9b8], eax
mov eax, dword [ebp - 0x9b8]
push eax
mov ecx, dword [ebp - 0x244]
add ecx, 8
call fcn.1004d200
lea ecx, [ebp - 0x9bc]
call fcn.1004cb80
mov ecx, dword [ebp - 0x244]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
jne 0x10098bff
mov dword [ebp - 4], 0xffffffff
jmp 0x10098ce4
mov ecx, dword [ebp - 0x244]
add ecx, 8
call fcn.1003cf40
mov dword [ebp - 0x9c0], eax
mov edx, dword [ebp - 0x9c0]
mov dword [ebp - 0x20], edx
mov eax, 1
test eax, eax
je 0x10098c98
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x9c4], 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 - 0x9c4]
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x9c8], edx
mov eax, dword [ebp - 0x9c8]
add eax, 4
mov dword [ebp - 0x9cc], eax
cmp dword [ebp - 0x2e4], 0
jne 0x10098c7e
jmp 0x10098c8c
mov ecx, dword [ebp - 0x2e4]
mov edx, dword [ebp - 0x9cc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x244]
mov byte [eax + 0x10], 1
jmp 0x10098cdd
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x9d0], 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 - 0x9d0]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
cmp dword [ebp - 0x2e4], 0
jne 0x10098cd2
jmp 0x10098cdd
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x2e4]
mov dword [edx], ecx
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x20c]
add eax, 0x8c
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x9d4], 0x100ab3e0
mov ecx, dword [ebp - 0x2e8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x10098d1d
mov eax, 0x43
add eax, 1
mov dword [ebp - 0x4b0], eax
jmp 0x10098d27
mov dword [ebp - 0x4b0], 0x43
mov ecx, dword [ebp - 0x4b0]
mov dword [ebp - 0x4b4], ecx
mov edx, dword [ebp - 0x2e8]
cmp dword [edx + 4], 0
je 0x10098d65
mov ecx, dword [ebp - 0x2e8]
add ecx, 8
call fcn.1004cb60
movzx eax, al
test eax, eax
je 0x10098d65
mov ecx, dword [ebp - 0x2e8]
mov edx, dword [ebp - 0x4b4]
cmp edx, dword [ecx + 0xc]
jbe 0x10098d91
mov dword [ebp - 0x344], 0
mov eax, dword [ebp - 0x200]
or eax, 0x10000000
mov dword [ebp - 0x200], eax
lea ecx, [ebp - 0x344]
mov dword [ebp - 0x9fc], ecx
jmp 0x10098ee5
mov edx, dword [ebp - 0x9d4]
mov dword [ebp - 0x9d8], edx
mov eax, dword [ebp - 0x9d8]
mov dword [ebp - 0x9e0], eax
mov ecx, dword [ebp - 0x2e8]
add ecx, 8
mov dword [ebp - 0x9dc], ecx
mov edx, dword [ebp - 0x4b4]
push edx
mov ecx, dword [ebp - 0x9dc]
call fcn.1004cb70
mov ecx, dword [ebp - 0x9e0]
mov dword [eax], ecx
mov edx, 0x43
shl edx, 2
mov eax, dword [ebp - 0x2e8]
add edx, dword [eax + 4]
mov dword [ebp - 0x4b8], edx
mov ecx, dword [ebp - 0x4b8]
cmp dword [ecx], 0
je 0x10098e39
mov edx, dword [ebp - 0x4b8]
mov eax, dword [edx]
mov dword [ebp - 0x9e4], eax
mov ecx, dword [ebp - 0x9e4]
mov dword [ebp - 0x9e8], ecx
lea edx, [ebp - 0x9e8]
mov dword [ebp - 0x9ec], edx
mov eax, dword [ebp - 0x200]
or eax, 0x20000000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x9ec]
mov dword [ebp - 0x4bc], ecx
jmp 0x10098e6c
mov dword [ebp - 0x9f0], 0
lea edx, [ebp - 0x9f0]
mov dword [ebp - 0x9f4], edx
mov eax, dword [ebp - 0x200]
or eax, 0x40000000
mov dword [ebp - 0x200], eax
mov ecx, dword [ebp - 0x9f4]
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4bc]
mov dword [ebp - 0x9f8], edx
mov eax, dword [ebp - 0x9f8]
mov ecx, dword [eax]
mov dword [ebp - 0x344], ecx
mov edx, dword [ebp - 0x200]
or edx, 0x80000000
mov dword [ebp - 0x200], edx
mov eax, dword [ebp - 0x200]
and eax, 0x40000000
je 0x10098eaf
and dword [ebp - 0x200], 0xbfffffff
mov ecx, dword [ebp - 0x200]
and ecx, 0x20000000
je 0x10098ec7
and dword [ebp - 0x200], 0xdfffffff
mov edx, dword [ebp - 0x200]
or edx, 0x10000000
mov dword [ebp - 0x200], edx
lea eax, [ebp - 0x344]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x8c
mov dword [ebp - 0x2ec], ecx
mov dword [ebp - 0xa00], 0x100ab430
mov edx, dword [ebp - 0x2ec]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x10098f1f
mov ecx, 0x52
add ecx, 1
mov dword [ebp - 0x4c0], ecx
jmp 0x10098f29
mov dword [ebp - 0x4c0], 0x52
mov edx, dword [ebp - 0x4c0]
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x2ec]
cmp dword [eax + 4], 0
je 0x10098f67
mov ecx, dword [ebp - 0x2ec]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x10098f67
mov edx, dword [ebp - 0x2ec]
mov eax, dword [ebp - 0x4c4]
cmp eax, dword [edx + 0xc]
jbe 0x10098f91
mov dword [ebp - 0x348], 0
mov ecx, dword [ebp - 0x204]
or ecx, 1
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x348]
mov dword [ebp - 0xa28], edx
jmp 0x100990d0
mov eax, dword [ebp - 0xa00]
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa04]
mov dword [ebp - 0xa0c], ecx
mov edx, dword [ebp - 0x2ec]
add edx, 8
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0x4c4]
push eax
mov ecx, dword [ebp - 0xa08]
call fcn.1004cb70
mov ecx, dword [ebp - 0xa0c]
mov dword [eax], ecx
mov edx, 0x52
shl edx, 2
mov eax, dword [ebp - 0x2ec]
add edx, dword [eax + 4]
mov dword [ebp - 0x4c8], edx
mov ecx, dword [ebp - 0x4c8]
cmp dword [ecx], 0
je 0x10099037
mov edx, dword [ebp - 0x4c8]
mov eax, dword [edx]
mov dword [ebp - 0xa10], eax
mov ecx, dword [ebp - 0xa10]
mov dword [ebp - 0xa14], ecx
lea edx, [ebp - 0xa14]
mov dword [ebp - 0xa18], edx
mov eax, dword [ebp - 0x204]
or eax, 2
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xa18]
mov dword [ebp - 0x4cc], ecx
jmp 0x10099068
mov dword [ebp - 0xa1c], 0
lea edx, [ebp - 0xa1c]
mov dword [ebp - 0xa20], edx
mov eax, dword [ebp - 0x204]
or eax, 4
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xa20]
mov dword [ebp - 0x4cc], ecx
mov edx, dword [ebp - 0x4cc]
mov dword [ebp - 0xa24], edx
mov eax, dword [ebp - 0xa24]
mov ecx, dword [eax]
mov dword [ebp - 0x348], ecx
mov edx, dword [ebp - 0x204]
or edx, 8
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 4
je 0x100990a3
and dword [ebp - 0x204], 0xfffffffb
mov ecx, dword [ebp - 0x204]
and ecx, 2
je 0x100990b5
and dword [ebp - 0x204], 0xfffffffd
mov edx, dword [ebp - 0x204]
or edx, 1
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x348]
mov dword [ebp - 0xa28], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0x8c
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0xa2c], 0x100ab4c0
mov edx, dword [ebp - 0x2f0]
movzx eax, byte [edx + 0x10]
test eax, eax
je 0x1009910a
mov ecx, 0x74
add ecx, 1
mov dword [ebp - 0x4d0], ecx
jmp 0x10099114
mov dword [ebp - 0x4d0], 0x74
mov edx, dword [ebp - 0x4d0]
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x2f0]
cmp dword [eax + 4], 0
je 0x10099152
mov ecx, dword [ebp - 0x2f0]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
je 0x10099152
mov edx, dword [ebp - 0x2f0]
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [edx + 0xc]
jbe 0x1009917c
mov dword [ebp - 0x34c], 0
mov ecx, dword [ebp - 0x204]
or ecx, 0x10
mov dword [ebp - 0x204], ecx
lea edx, [ebp - 0x34c]
mov dword [ebp - 0xa54], edx
jmp 0x100992be
mov eax, dword [ebp - 0xa2c]
mov dword [ebp - 0xa30], eax
mov ecx, dword [ebp - 0xa30]
mov dword [ebp - 0xa38], ecx
mov edx, dword [ebp - 0x2f0]
add edx, 8
mov dword [ebp - 0xa34], edx
mov eax, dword [ebp - 0x4d4]
push eax
mov ecx, dword [ebp - 0xa34]
call fcn.1004cb70
mov ecx, dword [ebp - 0xa38]
mov dword [eax], ecx
mov edx, 0x74
shl edx, 2
mov eax, dword [ebp - 0x2f0]
add edx, dword [eax + 4]
mov dword [ebp - 0x4d8], edx
mov ecx, dword [ebp - 0x4d8]
cmp dword [ecx], 0
je 0x10099222
mov edx, dword [ebp - 0x4d8]
mov eax, dword [edx]
mov dword [ebp - 0xa3c], eax
mov ecx, dword [ebp - 0xa3c]
mov dword [ebp - 0xa40], ecx
lea edx, [ebp - 0xa40]
mov dword [ebp - 0xa44], edx
mov eax, dword [ebp - 0x204]
or eax, 0x20
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xa44]
mov dword [ebp - 0x4dc], ecx
jmp 0x10099253
mov dword [ebp - 0xa48], 0
lea edx, [ebp - 0xa48]
mov dword [ebp - 0xa4c], edx
mov eax, dword [ebp - 0x204]
or eax, 0x40
mov dword [ebp - 0x204], eax
mov ecx, dword [ebp - 0xa4c]
mov dword [ebp - 0x4dc], ecx
mov edx, dword [ebp - 0x4dc]
mov dword [ebp - 0xa50], edx
mov eax, dword [ebp - 0xa50]
mov ecx, dword [eax]
mov dword [ebp - 0x34c], ecx
mov edx, dword [ebp - 0x204]
or edx, 0x80
mov dword [ebp - 0x204], edx
mov eax, dword [ebp - 0x204]
and eax, 0x40
je 0x10099291
and dword [ebp - 0x204], 0xffffffbf
mov ecx, dword [ebp - 0x204]
and ecx, 0x20
je 0x100992a3
and dword [ebp - 0x204], 0xffffffdf
mov edx, dword [ebp - 0x204]
or edx, 0x10
mov dword [ebp - 0x204], edx
lea eax, [ebp - 0x34c]
mov dword [ebp - 0xa54], eax
mov ecx, dword [ebp - 0x20c]
add ecx, 0xdc
mov dword [ebp - 0x23c], ecx
mov edx, dword [0x101a9a70]
mov dword [ebp - 0xa58], edx
lea eax, [ebp - 0x2f4]
mov dword [ebp - 0x4e0], eax
mov ecx, dword [ebp - 0x4e0]
mov edx, dword [ebp - 0xa58]
mov dword [ecx], edx
mov eax, dword [ebp - 0x4e0]
mov dword [ebp - 0xe6c], eax
mov dword [ebp - 4], 6
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x2f4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x2f4]
mov ecx, dword [eax]
mov dword [ebp - 0xa5c], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0xa5c]
mov dword [edx + 4], eax
mov ecx, dword [ebp - 0x23c]
cmp dword [ecx + 4], 0
jne 0x1009934c
mov dword [ebp - 4], 0xffffffff
jmp 0x10099586
mov dword [ebp - 0x310], 0
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x310]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0x4e4], edx
cmp dword [ebp - 0x4e4], 0
jne 0x10099380
mov byte [ebp - 0x212], 0
jmp 0x100993d7
mov eax, dword [0x10141f74]
mov dword [ebp - 0xa60], eax
push 0x1c
lea ecx, [ebp - 0x18c]
push ecx
mov edx, dword [ebp - 0x4e4]
push edx
call dword [ebp - 0xa60]
test eax, eax
jne 0x100993ae
mov byte [ebp - 0x212], 0
jmp 0x100993d7
mov eax, dword [ebp - 0x178]
and eax, 1
jne 0x100993c7
mov ecx, dword [ebp - 0x178]
and ecx, 0x100
je 0x100993d0
mov byte [ebp - 0x212], 0
jmp 0x100993d7
mov byte [ebp - 0x212], 1
movzx edx, byte [ebp - 0x212]
test edx, edx
je 0x100993f6
mov eax, dword [ebp - 0x310]
add eax, 1
mov dword [ebp - 0x310], eax
jmp 0x10099356
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ebp - 0x310]
mov dword [ecx + 0xc], edx
mov eax, dword [ebp - 0x23c]
cmp dword [eax + 0xc], 0
jne 0x1009941d
mov dword [ebp - 4], 0xffffffff
jmp 0x10099586
mov ecx, 1
test ecx, ecx
je 0x1009943a
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0xc]
add eax, 1
mov dword [ebp - 0x4e8], eax
jmp 0x10099449
mov ecx, dword [ebp - 0x23c]
mov edx, dword [ecx + 0xc]
mov dword [ebp - 0x4e8], edx
mov edx, dword [ebp - 0x4e8]
lea ecx, [ebp - 0xa68]
call fcn.1004d160
mov dword [ebp - 0xa64], eax
mov eax, dword [ebp - 0xa64]
push eax
mov ecx, dword [ebp - 0x23c]
add ecx, 8
call fcn.1004d200
lea ecx, [ebp - 0xa68]
call fcn.1004cb80
mov ecx, dword [ebp - 0x23c]
add ecx, 8
call fcn.1004cb60
movzx ecx, al
test ecx, ecx
jne 0x100994a1
mov eax, dword [ebp - 0x20c]
add eax, 0xdc
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0xa80], 0x10090380
mov ecx, dword [ebp - 0x2f8]
movzx edx, byte [ecx + 0x10]
test edx, edx
je 0x100995bf