Function at 0x1000e9e0
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1017f56d
mov eax, dword fs:[0]
push eax
sub esp, 0xd18
mov eax, dword [0x101d8724]
xor eax, ebp
mov dword [ebp - 0xb4], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xa68], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xa6c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0xa6c]
mov dword [ebp - 0xa70], eax
cmp dword [ebp - 0xa70], 0xff
ja case.default.0x1000ea54
mov ecx, dword [ebp - 0xa70]
jmp dword [ecx*4 + 0x10014e48]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xa74], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xa74]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102970
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x1c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0
lea edx, [ebp - 0x14]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 1
sub esp, 8
mov eax, esp
mov dword [ebp - 0x5ec], esp
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x75c]
mov edx, dword [ebp - 0x1c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x75c]
add eax, 4
mov dword [ebp - 0x758], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x18]
mov dword [ecx], edx
mov eax, dword [ebp - 0x758]
cmp dword [eax], 0
je 0x1000eb21
mov ecx, dword [ebp - 0x758]
mov edx, dword [ecx]
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x754]
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 2
mov byte [ebp - 4], 1
mov edx, dword [ebp - 0x75c]
mov dword [ebp - 0xa78], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x14]
mov dword [ebp - 0x760], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x760]
call fcn.100ff600
mov byte [ebp - 0xa79], al
movzx ecx, byte [ebp - 0xa79]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 4
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
mov dword [ebp - 0x764], ecx
mov edx, dword [ebp - 0x764]
cmp dword [edx], 0
je 0x1000eb98
mov eax, dword [ebp - 0x764]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 5
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x768], ecx
mov edx, dword [ebp - 0x768]
cmp dword [edx], 0
je 0x1000ebc7
mov eax, dword [ebp - 0x768]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
xor eax, 0x9e
mov dword [ebp - 0xa80], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0xa80]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102170
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103a20
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104440
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101041e0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xa84], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xa84]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102650
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x2c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 6
lea edx, [ebp - 0x24]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 7
sub esp, 8
mov eax, esp
mov dword [ebp - 0x5f0], esp
mov dword [ebp - 0x774], eax
mov ecx, dword [ebp - 0x774]
mov edx, dword [ebp - 0x2c]
mov dword [ecx], edx
mov eax, dword [ebp - 0x774]
add eax, 4
mov dword [ebp - 0x770], eax
mov ecx, dword [ebp - 0x770]
mov edx, dword [ebp - 0x28]
mov dword [ecx], edx
mov eax, dword [ebp - 0x770]
cmp dword [eax], 0
je 0x1000ecf0
mov ecx, dword [ebp - 0x770]
mov edx, dword [ecx]
mov dword [ebp - 0x76c], edx
mov eax, dword [ebp - 0x76c]
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 8
mov byte [ebp - 4], 7
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0xa88], edx
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x778], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x778]
call fcn.100ff530
mov byte [ebp - 0xa89], al
movzx ecx, byte [ebp - 0xa89]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xa
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x77c], ecx
mov edx, dword [ebp - 0x77c]
cmp dword [edx], 0
je 0x1000ed67
mov eax, dword [ebp - 0x77c]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0xb
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x780], ecx
mov edx, dword [ebp - 0x780]
cmp dword [edx], 0
je 0x1000ed96
mov eax, dword [ebp - 0x780]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xa90], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xa90]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102aa0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104940
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xa94], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xa94]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102820
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xa98], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xa98]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102820
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x30]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
push 0
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104570
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x34]
push edx
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
lea eax, [ebp - 0x44]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xc
lea ecx, [ebp - 0x3c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xd
sub esp, 8
mov edx, esp
mov dword [ebp - 0x5f4], esp
mov dword [ebp - 0x78c], edx
mov eax, dword [ebp - 0x78c]
mov ecx, dword [ebp - 0x44]
mov dword [eax], ecx
mov edx, dword [ebp - 0x78c]
add edx, 4
mov dword [ebp - 0x788], edx
mov eax, dword [ebp - 0x788]
mov ecx, dword [ebp - 0x40]
mov dword [eax], ecx
mov edx, dword [ebp - 0x788]
cmp dword [edx], 0
je 0x1000ef54
mov eax, dword [ebp - 0x788]
mov ecx, dword [eax]
mov dword [ebp - 0x784], ecx
mov edx, dword [ebp - 0x784]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0xe
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x78c]
mov dword [ebp - 0xa9c], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x790], edx
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x790]
call fcn.100ff600
mov byte [ebp - 0xa9d], al
movzx eax, byte [ebp - 0xa9d]
test eax, eax
sete cl
movzx edx, cl
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x10
mov byte [ebp - 4], 0xc
lea eax, [ebp - 0x38]
mov dword [ebp - 0x794], eax
mov ecx, dword [ebp - 0x794]
cmp dword [ecx], 0
je 0x1000efcb
mov edx, dword [ebp - 0x794]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x11
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x40]
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x798]
cmp dword [ecx], 0
je 0x1000effa
mov edx, dword [ebp - 0x798]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
lea eax, [ebp - 0x54]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x4c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x13
sub esp, 8
mov edx, esp
mov dword [ebp - 0x5f8], esp
mov dword [ebp - 0x7a4], edx
mov eax, dword [ebp - 0x7a4]
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7a4]
add edx, 4
mov dword [ebp - 0x7a0], edx
mov eax, dword [ebp - 0x7a0]
mov ecx, dword [ebp - 0x48]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7a0]
cmp dword [edx], 0
je 0x1000f083
mov eax, dword [ebp - 0x7a0]
mov ecx, dword [eax]
mov dword [ebp - 0x79c], ecx
mov edx, dword [ebp - 0x79c]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x14
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x7a4]
mov dword [ebp - 0xaa4], ecx
mov byte [ebp - 4], 0x15
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x7a8], edx
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x7a8]
call fcn.100ffa40
mov byte [ebp - 4], 0x16
mov byte [ebp - 4], 0x12
lea eax, [ebp - 0x48]
mov dword [ebp - 0x7ac], eax
mov ecx, dword [ebp - 0x7ac]
cmp dword [ecx], 0
je 0x1000f0dc
mov edx, dword [ebp - 0x7ac]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x17
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x50]
mov dword [ebp - 0x7b0], eax
mov ecx, dword [ebp - 0x7b0]
cmp dword [ecx], 0
je 0x1000f10b
mov edx, dword [ebp - 0x7b0]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101040b0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104940
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x55], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
movzx eax, byte [ebp - 0x55]
and eax, 0x80
je 0x1000f165
movzx ecx, byte [ebp - 0x55]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.1005ca20
jmp 0x1000f182
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
movzx ecx, byte [ebp - 0x55]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101021a0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
xor ecx, 0x9e
mov dword [ebp - 0xaa8], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xaa8]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102170
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xaac], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xaac]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102970
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
xor ecx, 0x9e
mov dword [ebp - 0xab0], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xab0]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102170
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103d20
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x56], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
movzx eax, byte [ebp - 0x56]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x56]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x56]
and eax, 3
push eax
mov ecx, dword [ebp + 8]
call fcn.10104880
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x5c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101041e0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101031a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103d20
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101031a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103ac0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xab4], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xab4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102510
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101038e0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x600]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x18
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x5fc]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [ebp - 0x7b4]
cmp dword [ecx], 0
je 0x1000f392
mov edx, dword [ebp - 0x7b4]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104440
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x5d], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
movzx eax, byte [ebp - 0x5d]
and eax, 0x80
je 0x1000f3df
movzx ecx, byte [ebp - 0x5d]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.1005ca20
jmp 0x1000f3fc
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
movzx ecx, byte [ebp - 0x5d]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101021a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104940
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov cl, byte [eax]
mov byte [ebp - 0x5e], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea edx, [ebp - 0x64]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
movzx edx, byte [ebp - 0x5e]
and edx, 8
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x5e]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x5e]
and edx, 3
push edx
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [ebp + 8]
call fcn.101049e0
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x68]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
push 0
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x6c]
push edx
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103e50
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
push ecx
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov cl, byte [eax]
mov byte [ebp - 0x71], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
movzx edx, byte [ebp - 0x71]
and edx, 8
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x71]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x71]
and edx, 3
push edx
mov ecx, dword [ebp + 8]
call fcn.10104880
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101041e0
jmp case.default.0x1000ea54
lea eax, [ebp - 0x7c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x19
lea ecx, [ebp - 0x84]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x1a
sub esp, 8
mov edx, esp
mov dword [ebp - 0x604], esp
mov dword [ebp - 0x7c0], edx
mov eax, dword [ebp - 0x7c0]
mov ecx, dword [ebp - 0x7c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7c0]
add edx, 4
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x7bc]
mov ecx, dword [ebp - 0x78]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7bc]
cmp dword [edx], 0
je 0x1000f5f1
mov eax, dword [ebp - 0x7bc]
mov ecx, dword [eax]
mov dword [ebp - 0x7b8], ecx
mov edx, dword [ebp - 0x7b8]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x1b
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x7c0]
mov dword [ebp - 0xab8], ecx
mov byte [ebp - 4], 0x1c
mov edx, dword [ebp - 0x84]
mov dword [ebp - 0x7c4], edx
mov byte [ebp - 4], 0x1a
mov ecx, dword [ebp - 0x7c4]
call fcn.100ffa40
mov byte [ebp - 4], 0x1d
mov byte [ebp - 4], 0x19
lea eax, [ebp - 0x80]
mov dword [ebp - 0x7c8], eax
mov ecx, dword [ebp - 0x7c8]
cmp dword [ecx], 0
je 0x1000f64d
mov edx, dword [ebp - 0x7c8]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x1e
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x78]
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7cc]
cmp dword [ecx], 0
je 0x1000f67c
mov edx, dword [ebp - 0x7cc]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
lea eax, [ebp - 0x94]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x1f
lea ecx, [ebp - 0x8c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x20
sub esp, 8
mov edx, esp
mov dword [ebp - 0x608], esp
mov dword [ebp - 0x7d8], edx
mov eax, dword [ebp - 0x7d8]
mov ecx, dword [ebp - 0x8c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7d8]
add edx, 4
mov dword [ebp - 0x7d4], edx
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [ebp - 0x88]
mov dword [eax], ecx
mov edx, dword [ebp - 0x7d4]
cmp dword [edx], 0
je 0x1000f711
mov eax, dword [ebp - 0x7d4]
mov ecx, dword [eax]
mov dword [ebp - 0x7d0], ecx
mov edx, dword [ebp - 0x7d0]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x21
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x7d8]
mov dword [ebp - 0xabc], ecx
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x94]
mov dword [ebp - 0x7dc], edx
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x7dc]
call fcn.100ffa40
mov byte [ebp - 4], 0x23
mov byte [ebp - 4], 0x1f
lea eax, [ebp - 0x88]
mov dword [ebp - 0x7e0], eax
mov ecx, dword [ebp - 0x7e0]
cmp dword [ecx], 0
je 0x1000f770
mov edx, dword [ebp - 0x7e0]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x24
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x90]
mov dword [ebp - 0x7e4], eax
mov ecx, dword [ebp - 0x7e4]
cmp dword [ecx], 0
je 0x1000f7a2
mov edx, dword [ebp - 0x7e4]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x95], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
movzx eax, byte [ebp - 0x95]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x95]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x95]
and eax, 3
push eax
mov ecx, dword [ebp + 8]
call fcn.10104880
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104440
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x9c]
push edx
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xac0], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xac0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102470
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0xa1], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
push 0
movzx eax, byte [ebp - 0xa1]
sar eax, 3
push eax
movzx ecx, byte [ebp - 0xa1]
and ecx, 4
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0xa1]
and ecx, 3
push ecx
mov edx, dword [ebp - 0xa0]
push edx
lea eax, [ebp - 0x610]
push eax
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0x25
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x60c]
mov dword [ebp - 0x7e8], ecx
mov edx, dword [ebp - 0x7e8]
cmp dword [edx], 0
je 0x1000f928
mov eax, dword [ebp - 0x7e8]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0xa8], eax
mov edx, dword [ebp - 0xa8]
push edx
mov ecx, dword [ebp + 8]
call fcn.10103390
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104940
jmp case.default.0x1000ea54
mov dword [ebp - 0xd8], 0
lea eax, [ebp - 0xd4]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea eax, [ebp - 0x7f1]
mov dword [ebp - 0x7f0], eax
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xac4], ecx
mov dword [ebp - 4], 0x26
push 0
push 0
lea ecx, [ebp - 0xd0]
call fcn.10042350
mov dword [ebp - 4], 0x27
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xd4]
jae 0x1000faa6
mov eax, dword [ebp - 0xa68]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x7f8], ecx
mov edx, dword [ebp - 0x7f8]
mov dword [ebp - 0xdc], edx
mov eax, dword [ebp - 0xa68]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x7fc], ecx
mov edx, dword [ebp - 0x7fc]
mov dword [ebp - 0xe0], edx
jmp 0x1000fa1d
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xdc]
xor edx, edx
cmp ecx, dword [ebp - 0xe0]
sete dl
movzx eax, dl
neg eax
sbb eax, eax
add eax, 1
movzx ecx, al
test ecx, ecx
je 0x1000faa1
mov edx, dword [ebp - 0xd8]
cmp edx, dword [ebp - 0xd4]
je 0x1000faa1
xor eax, eax
jne 0x1000fa4d
mov ecx, dword [ebp - 0xdc]
movzx edx, byte [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx eax, byte [ecx]
xor edx, eax
mov byte [ebp - 0xac5], dl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0xac5]
push ecx
lea ecx, [ebp - 0xd0]
call fcn.1003b6f0
mov edx, dword [ebp - 0xd8]
add edx, 1
mov dword [ebp - 0xd8], edx
jmp 0x1000fa0e
jmp 0x1000f9c4
mov eax, dword [ebp - 0xd4]
add eax, 1
push eax
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0xb0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov byte [ebp - 4], 0x28
mov edx, dword [ebp - 0xb0]
mov dword [ebp - 0xacc], edx
cmp dword [ebp - 0xbc], 0x10
jb 0x1000faee
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xad0], eax
jmp 0x1000fafa
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xad0], ecx
mov edx, dword [ebp - 0xd4]
add edx, 1
push edx
mov eax, dword [ebp - 0xad0]
push eax
mov ecx, dword [ebp - 0xacc]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xacc]
mov eax, dword [edx + 0x1c]
call eax
push eax
call fcn.1014c8e0
add esp, 4
mov ecx, esp
mov dword [ebp - 0x614], esp
mov dword [ebp - 0x818], ecx
mov edx, dword [ebp - 0x818]
mov eax, dword [ebp - 0xb0]
mov dword [edx], eax
mov ecx, dword [ebp - 0x818]
add ecx, 4
mov dword [ebp - 0x814], ecx
mov edx, dword [ebp - 0x814]
mov eax, dword [ebp - 0xac]
mov dword [edx], eax
mov ecx, dword [ebp - 0x814]
cmp dword [ecx], 0
je 0x1000fb8b
mov edx, dword [ebp - 0x814]
mov eax, dword [edx]
mov dword [ebp - 0x810], eax
mov ecx, dword [ebp - 0x810]
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x29
mov byte [ebp - 4], 0x28
mov eax, dword [ebp - 0x818]
mov dword [ebp - 0xad4], eax
mov byte [ebp - 4], 0x2a
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0x2b
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0xac]
mov dword [ebp - 0x81c], ecx
mov edx, dword [ebp - 0x81c]
cmp dword [edx], 0
je 0x1000fbdb
mov eax, dword [ebp - 0x81c]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x2c
push 0
push 1
lea ecx, [ebp - 0xd0]
call fcn.10042350
mov dword [ebp - 4], 0xffffffff
jmp case.default.0x1000ea54
lea ecx, [ebp - 0xf0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x2d
lea edx, [ebp - 0xe8]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x2e
sub esp, 8
mov eax, esp
mov dword [ebp - 0x618], esp
mov dword [ebp - 0x828], eax
mov ecx, dword [ebp - 0x828]
mov edx, dword [ebp - 0xf0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x828]
add eax, 4
mov dword [ebp - 0x824], eax
mov ecx, dword [ebp - 0x824]
mov edx, dword [ebp - 0xec]
mov dword [ecx], edx
mov eax, dword [ebp - 0x824]
cmp dword [eax], 0
je 0x1000fc8d
mov ecx, dword [ebp - 0x824]
mov edx, dword [ecx]
mov dword [ebp - 0x820], edx
mov eax, dword [ebp - 0x820]
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x2f
mov byte [ebp - 4], 0x2e
mov edx, dword [ebp - 0x828]
mov dword [ebp - 0xad8], edx
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0xe8]
mov dword [ebp - 0x82c], eax
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x82c]
call fcn.100ff600
mov byte [ebp - 0xad9], al
movzx ecx, byte [ebp - 0xad9]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x31
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xe4]
mov dword [ebp - 0x830], ecx
mov edx, dword [ebp - 0x830]
cmp dword [edx], 0
je 0x1000fd0a
mov eax, dword [ebp - 0x830]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x32
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xec]
mov dword [ebp - 0x834], ecx
mov edx, dword [ebp - 0x834]
cmp dword [edx], 0
je 0x1000fd3c
mov eax, dword [ebp - 0x834]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103d20
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103f80
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xae0], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xae0]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102aa0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10102340
mov byte [ebp - 0xf1], al
movzx eax, byte [ebp - 0xf1]
test eax, eax
jne 0x1000fdca
xor al, al
jmp 0x10014e27
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x104]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x33
lea edx, [ebp - 0xfc]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102e60
mov byte [ebp - 4], 0x34
sub esp, 8
mov eax, esp
mov dword [ebp - 0x61c], esp
mov dword [ebp - 0x840], eax
mov ecx, dword [ebp - 0x840]
mov edx, dword [ebp - 0xfc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x840]
add eax, 4
mov dword [ebp - 0x83c], eax
mov ecx, dword [ebp - 0x83c]
mov edx, dword [ebp - 0xf8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x83c]
cmp dword [eax], 0
je 0x1000fe5f
mov ecx, dword [ebp - 0x83c]
mov edx, dword [ecx]
mov dword [ebp - 0x838], edx
mov eax, dword [ebp - 0x838]
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x35
mov byte [ebp - 4], 0x34
mov edx, dword [ebp - 0x840]
mov dword [ebp - 0xae4], edx
mov byte [ebp - 4], 0x36
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0x844], eax
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x844]
call fcn.100ffa40
mov byte [ebp - 4], 0x37
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0xf8]
mov dword [ebp - 0x848], ecx
mov edx, dword [ebp - 0x848]
cmp dword [edx], 0
je 0x1000febe
mov eax, dword [ebp - 0x848]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x38
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x84c], ecx
mov edx, dword [ebp - 0x84c]
cmp dword [edx], 0
je 0x1000fef0
mov eax, dword [ebp - 0x84c]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101030f0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xae8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xae8]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102510
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x109], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
push 0
movzx ecx, byte [ebp - 0x109]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x109]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x109]
and edx, 3
push edx
mov eax, dword [ebp - 0x108]
push eax
lea ecx, [ebp - 0x624]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0x39
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x620]
mov dword [ebp - 0x850], edx
mov eax, dword [ebp - 0x850]
cmp dword [eax], 0
je 0x1000ffe7
mov ecx, dword [ebp - 0x850]
mov ecx, dword [ecx]
call fcn.10021940
mov edx, dword [ebp - 0x108]
push edx
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
lea eax, [ebp - 0x11c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x3a
lea ecx, [ebp - 0x114]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x3b
sub esp, 8
mov edx, esp
mov dword [ebp - 0x628], esp
mov dword [ebp - 0x85c], edx
mov eax, dword [ebp - 0x85c]
mov ecx, dword [ebp - 0x11c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x85c]
add edx, 4
mov dword [ebp - 0x858], edx
mov eax, dword [ebp - 0x858]
mov ecx, dword [ebp - 0x118]
mov dword [eax], ecx
mov edx, dword [ebp - 0x858]
cmp dword [edx], 0
je 0x1001008b
mov eax, dword [ebp - 0x858]
mov ecx, dword [eax]
mov dword [ebp - 0x854], ecx
mov edx, dword [ebp - 0x854]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x3c
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x85c]
mov dword [ebp - 0xaec], ecx
mov byte [ebp - 4], 0x3d
mov edx, dword [ebp - 0x114]
mov dword [ebp - 0x860], edx
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x860]
call fcn.100ff530
mov byte [ebp - 0xaed], al
movzx eax, byte [ebp - 0xaed]
test eax, eax
sete cl
movzx edx, cl
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x3e
mov byte [ebp - 4], 0x3a
lea eax, [ebp - 0x110]
mov dword [ebp - 0x864], eax
mov ecx, dword [ebp - 0x864]
cmp dword [ecx], 0
je 0x10010108
mov edx, dword [ebp - 0x864]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x3f
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x118]
mov dword [ebp - 0x868], eax
mov ecx, dword [ebp - 0x868]
cmp dword [ecx], 0
je 0x1001013a
mov edx, dword [ebp - 0x868]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
lea eax, [ebp - 0x12c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x40
lea ecx, [ebp - 0x124]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x41
sub esp, 8
mov edx, esp
mov dword [ebp - 0x62c], esp
mov dword [ebp - 0x874], edx
mov eax, dword [ebp - 0x874]
mov ecx, dword [ebp - 0x12c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x874]
add edx, 4
mov dword [ebp - 0x870], edx
mov eax, dword [ebp - 0x870]
mov ecx, dword [ebp - 0x128]
mov dword [eax], ecx
mov edx, dword [ebp - 0x870]
cmp dword [edx], 0
je 0x100101cf
mov eax, dword [ebp - 0x870]
mov ecx, dword [eax]
mov dword [ebp - 0x86c], ecx
mov edx, dword [ebp - 0x86c]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x42
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x874]
mov dword [ebp - 0xaf4], ecx
mov byte [ebp - 4], 0x43
mov edx, dword [ebp - 0x124]
mov dword [ebp - 0x878], edx
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x878]
call fcn.100ff600
mov byte [ebp - 0xaf5], al
movzx eax, byte [ebp - 0xaf5]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x44
mov byte [ebp - 4], 0x40
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x87c], ecx
mov edx, dword [ebp - 0x87c]
cmp dword [edx], 0
je 0x10010244
mov eax, dword [ebp - 0x87c]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x45
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x128]
mov dword [ebp - 0x880], ecx
mov edx, dword [ebp - 0x880]
cmp dword [edx], 0
je 0x10010276
mov eax, dword [ebp - 0x880]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x130], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov cl, byte [eax]
mov byte [ebp - 0x131], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
push 0
movzx edx, byte [ebp - 0x131]
sar edx, 3
push edx
movzx eax, byte [ebp - 0x131]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x131]
and eax, 3
push eax
mov ecx, dword [ebp - 0x130]
push ecx
lea edx, [ebp - 0x634]
push edx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0x46
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x630]
mov dword [ebp - 0x884], eax
mov ecx, dword [ebp - 0x884]
cmp dword [ecx], 0
je 0x1001031e
mov edx, dword [ebp - 0x884]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104940
jmp case.default.0x1000ea54
lea eax, [ebp - 0x144]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x47
lea ecx, [ebp - 0x13c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x48
sub esp, 8
mov edx, esp
mov dword [ebp - 0x638], esp
mov dword [ebp - 0x890], edx
mov eax, dword [ebp - 0x890]
mov ecx, dword [ebp - 0x144]
mov dword [eax], ecx
mov edx, dword [ebp - 0x890]
add edx, 4
mov dword [ebp - 0x88c], edx
mov eax, dword [ebp - 0x88c]
mov ecx, dword [ebp - 0x140]
mov dword [eax], ecx
mov edx, dword [ebp - 0x88c]
cmp dword [edx], 0
je 0x100103c0
mov eax, dword [ebp - 0x88c]
mov ecx, dword [eax]
mov dword [ebp - 0x888], ecx
mov edx, dword [ebp - 0x888]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x49
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0x890]
mov dword [ebp - 0xafc], ecx
mov byte [ebp - 4], 0x4a
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x894], edx
mov byte [ebp - 4], 0x48
mov ecx, dword [ebp - 0x894]
call fcn.100ff820
mov byte [ebp - 0xafd], al
movzx eax, byte [ebp - 0xafd]
test eax, eax
sete cl
movzx edx, cl
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x4b
mov byte [ebp - 4], 0x47
lea eax, [ebp - 0x138]
mov dword [ebp - 0x898], eax
mov ecx, dword [ebp - 0x898]
cmp dword [ecx], 0
je 0x1001043d
mov edx, dword [ebp - 0x898]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x4c
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x140]
mov dword [ebp - 0x89c], eax
mov ecx, dword [ebp - 0x89c]
cmp dword [ecx], 0
je 0x1001046f
mov edx, dword [ebp - 0x89c]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x148], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x149], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
lea ecx, [ebp - 0x150]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x150]
push eax
movzx ecx, byte [ebp - 0x149]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x149]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x149]
and edx, 3
push edx
mov eax, dword [ebp - 0x148]
push eax
lea ecx, [ebp - 0x640]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0x4d
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x63c]
mov dword [ebp - 0x8a0], edx
mov eax, dword [ebp - 0x8a0]
cmp dword [eax], 0
je 0x1001053e
mov ecx, dword [ebp - 0x8a0]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101041e0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101041e0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103e50
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104310
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103f80
jmp case.default.0x1000ea54
lea edx, [ebp - 0x160]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x4e
lea eax, [ebp - 0x158]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x4f
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x644], esp
mov dword [ebp - 0x8ac], ecx
mov edx, dword [ebp - 0x8ac]
mov eax, dword [ebp - 0x160]
mov dword [edx], eax
mov ecx, dword [ebp - 0x8ac]
add ecx, 4
mov dword [ebp - 0x8a8], ecx
mov edx, dword [ebp - 0x8a8]
mov eax, dword [ebp - 0x15c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x8a8]
cmp dword [ecx], 0
je 0x10010614
mov edx, dword [ebp - 0x8a8]
mov eax, dword [edx]
mov dword [ebp - 0x8a4], eax
mov ecx, dword [ebp - 0x8a4]
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x50
mov byte [ebp - 4], 0x4f
mov eax, dword [ebp - 0x8ac]
mov dword [ebp - 0xb04], eax
mov byte [ebp - 4], 0x51
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x8b0], ecx
mov byte [ebp - 4], 0x4f
mov ecx, dword [ebp - 0x8b0]
call fcn.100ff820
mov byte [ebp - 0xb05], al
movzx edx, byte [ebp - 0xb05]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x52
mov byte [ebp - 4], 0x4e
lea eax, [ebp - 0x154]
mov dword [ebp - 0x8b4], eax
mov ecx, dword [ebp - 0x8b4]
cmp dword [ecx], 0
je 0x10010689
mov edx, dword [ebp - 0x8b4]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x53
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x15c]
mov dword [ebp - 0x8b8], eax
mov ecx, dword [ebp - 0x8b8]
cmp dword [ecx], 0
je 0x100106bb
mov edx, dword [ebp - 0x8b8]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x164], eax
mov ecx, dword [ebp - 0x164]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102cb0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
push 0
push 1
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xb0c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xb0c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102470
jmp case.default.0x1000ea54
mov dword [ebp - 0x190], 0
lea ecx, [ebp - 0x18c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea eax, [ebp - 0x8c1]
mov dword [ebp - 0x8c0], eax
lea ecx, [ebp - 0x188]
mov dword [ebp - 0xb10], ecx
mov dword [ebp - 4], 0x54
push 0
push 0
lea ecx, [ebp - 0x188]
call fcn.10042350
mov dword [ebp - 4], 0x55
mov edx, dword [ebp - 0x190]
cmp edx, dword [ebp - 0x18c]
jae 0x1001088c
mov eax, dword [ebp - 0xa68]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x8c8], ecx
mov edx, dword [ebp - 0x8c8]
mov dword [ebp - 0x194], edx
mov eax, dword [ebp - 0xa68]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x8cc], ecx
mov edx, dword [ebp - 0x8cc]
mov dword [ebp - 0x198], edx
jmp 0x10010803
mov eax, dword [ebp - 0x194]
add eax, 1
mov dword [ebp - 0x194], eax
mov ecx, dword [ebp - 0x194]
xor edx, edx
cmp ecx, dword [ebp - 0x198]
sete dl
movzx eax, dl
neg eax
sbb eax, eax
add eax, 1
movzx ecx, al
test ecx, ecx
je 0x10010887
mov edx, dword [ebp - 0x190]
cmp edx, dword [ebp - 0x18c]
je 0x10010887
xor eax, eax
jne 0x10010833
mov ecx, dword [ebp - 0x194]
movzx edx, byte [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx eax, byte [ecx]
xor edx, eax
mov byte [ebp - 0xb11], dl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0xb11]
push ecx
lea ecx, [ebp - 0x188]
call fcn.1003b6f0
mov edx, dword [ebp - 0x190]
add edx, 1
mov dword [ebp - 0x190], edx
jmp 0x100107f4
jmp 0x100107aa
mov eax, dword [ebp - 0x18c]
add eax, 1
push eax
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x16c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov byte [ebp - 4], 0x56
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0xb18], edx
cmp dword [ebp - 0x174], 0x10
jb 0x100108d4
mov eax, dword [ebp - 0x188]
mov dword [ebp - 0xb1c], eax
jmp 0x100108e0
lea ecx, [ebp - 0x188]
mov dword [ebp - 0xb1c], ecx
mov edx, dword [ebp - 0x18c]
add edx, 1
push edx
mov eax, dword [ebp - 0xb1c]
push eax
mov ecx, dword [ebp - 0xb18]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xb18]
mov eax, dword [edx + 0x1c]
call eax
push eax
call fcn.1014c8e0
add esp, 4
mov ecx, esp
mov dword [ebp - 0x648], esp
mov dword [ebp - 0x8e8], ecx
mov edx, dword [ebp - 0x8e8]
mov eax, dword [ebp - 0x16c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x8e8]
add ecx, 4
mov dword [ebp - 0x8e4], ecx
mov edx, dword [ebp - 0x8e4]
mov eax, dword [ebp - 0x168]
mov dword [edx], eax
mov ecx, dword [ebp - 0x8e4]
cmp dword [ecx], 0
je 0x10010971
mov edx, dword [ebp - 0x8e4]
mov eax, dword [edx]
mov dword [ebp - 0x8e0], eax
mov ecx, dword [ebp - 0x8e0]
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x57
mov byte [ebp - 4], 0x56
mov eax, dword [ebp - 0x8e8]
mov dword [ebp - 0xb20], eax
mov byte [ebp - 4], 0x58
mov byte [ebp - 4], 0x56
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0x59
mov byte [ebp - 4], 0x55
lea ecx, [ebp - 0x168]
mov dword [ebp - 0x8ec], ecx
mov edx, dword [ebp - 0x8ec]
cmp dword [edx], 0
je 0x100109c1
mov eax, dword [ebp - 0x8ec]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x5a
push 0
push 1
lea ecx, [ebp - 0x188]
call fcn.10042350
mov dword [ebp - 4], 0xffffffff
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xb24], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xb24]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102820
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101041e0
jmp case.default.0x1000ea54
lea eax, [ebp - 0x1a8]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x5b
lea ecx, [ebp - 0x1a0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x5c
sub esp, 8
mov edx, esp
mov dword [ebp - 0x64c], esp
mov dword [ebp - 0x8f8], edx
mov eax, dword [ebp - 0x8f8]
mov ecx, dword [ebp - 0x1a8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8f8]
add edx, 4
mov dword [ebp - 0x8f4], edx
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [ebp - 0x1a4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x8f4]
cmp dword [edx], 0
je 0x10010ac2
mov eax, dword [ebp - 0x8f4]
mov ecx, dword [eax]
mov dword [ebp - 0x8f0], ecx
mov edx, dword [ebp - 0x8f0]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x5d
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x8f8]
mov dword [ebp - 0xb28], ecx
mov byte [ebp - 4], 0x5e
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x8fc], edx
mov byte [ebp - 4], 0x5c
mov ecx, dword [ebp - 0x8fc]
call fcn.100ff530
mov byte [ebp - 0xb29], al
movzx eax, byte [ebp - 0xb29]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x5f
mov byte [ebp - 4], 0x5b
lea ecx, [ebp - 0x19c]
mov dword [ebp - 0x900], ecx
mov edx, dword [ebp - 0x900]
cmp dword [edx], 0
je 0x10010b37
mov eax, dword [ebp - 0x900]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x60
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1a4]
mov dword [ebp - 0x904], ecx
mov edx, dword [ebp - 0x904]
cmp dword [edx], 0
je 0x10010b69
mov eax, dword [ebp - 0x904]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x1ac]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
push 0
mov eax, dword [ebp - 0x1ac]
push eax
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x1bc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x61
lea edx, [ebp - 0x1b4]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x62
sub esp, 8
mov eax, esp
mov dword [ebp - 0x650], esp
mov dword [ebp - 0x910], eax
mov ecx, dword [ebp - 0x910]
mov edx, dword [ebp - 0x1b4]
mov dword [ecx], edx
mov eax, dword [ebp - 0x910]
add eax, 4
mov dword [ebp - 0x90c], eax
mov ecx, dword [ebp - 0x90c]
mov edx, dword [ebp - 0x1b0]
mov dword [ecx], edx
mov eax, dword [ebp - 0x90c]
cmp dword [eax], 0
je 0x10010c36
mov ecx, dword [ebp - 0x90c]
mov edx, dword [ecx]
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x908]
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x63
mov byte [ebp - 4], 0x62
mov edx, dword [ebp - 0x910]
mov dword [ebp - 0xb30], edx
mov byte [ebp - 4], 0x64
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x914], eax
mov byte [ebp - 4], 0x62
mov ecx, dword [ebp - 0x914]
call fcn.100ffa40
mov byte [ebp - 4], 0x65
mov byte [ebp - 4], 0x61
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x918], ecx
mov edx, dword [ebp - 0x918]
cmp dword [edx], 0
je 0x10010c95
mov eax, dword [ebp - 0x918]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x66
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x1b8]
mov dword [ebp - 0x91c], ecx
mov edx, dword [ebp - 0x91c]
cmp dword [edx], 0
je 0x10010cc7
mov eax, dword [ebp - 0x91c]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xb34], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xb34]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102820
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x1c1], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
push 0
movzx ecx, byte [ebp - 0x1c1]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x1c1]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x1c1]
and edx, 3
push edx
mov eax, dword [ebp - 0x1c0]
push eax
lea ecx, [ebp - 0x658]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0x67
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x654]
mov dword [ebp - 0x920], edx
mov eax, dword [ebp - 0x920]
cmp dword [eax], 0
je 0x10010db1
mov ecx, dword [ebp - 0x920]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
lea edx, [ebp - 0x1d4]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x68
lea eax, [ebp - 0x1cc]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x69
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x65c], esp
mov dword [ebp - 0x92c], ecx
mov edx, dword [ebp - 0x92c]
mov eax, dword [ebp - 0x1cc]
mov dword [edx], eax
mov ecx, dword [ebp - 0x92c]
add ecx, 4
mov dword [ebp - 0x928], ecx
mov edx, dword [ebp - 0x928]
mov eax, dword [ebp - 0x1c8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x928]
cmp dword [ecx], 0
je 0x10010e46
mov edx, dword [ebp - 0x928]
mov eax, dword [edx]
mov dword [ebp - 0x924], eax
mov ecx, dword [ebp - 0x924]
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x6a
mov byte [ebp - 4], 0x69
mov eax, dword [ebp - 0x92c]
mov dword [ebp - 0xb38], eax
mov byte [ebp - 4], 0x6b
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0x930], ecx
mov byte [ebp - 4], 0x69
mov ecx, dword [ebp - 0x930]
call fcn.100ffa40
mov byte [ebp - 4], 0x6c
mov byte [ebp - 4], 0x68
lea edx, [ebp - 0x1c8]
mov dword [ebp - 0x934], edx
mov eax, dword [ebp - 0x934]
cmp dword [eax], 0
je 0x10010ea5
mov ecx, dword [ebp - 0x934]
mov ecx, dword [ecx]
call fcn.10021940
mov dword [ebp - 4], 0x6d
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x1d0]
mov dword [ebp - 0x938], edx
mov eax, dword [ebp - 0x938]
cmp dword [eax], 0
je 0x10010ed7
mov ecx, dword [ebp - 0x938]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x1d8], eax
mov eax, dword [ebp - 0x1d8]
push eax
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x664]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x6e
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x660]
mov dword [ebp - 0x93c], edx
mov eax, dword [ebp - 0x93c]
cmp dword [eax], 0
je 0x10010f48
mov ecx, dword [ebp - 0x93c]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x1dc], eax
mov eax, dword [ebp - 0x1dc]
push eax
push 1
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xb3c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xb3c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102510
jmp case.default.0x1000ea54
lea eax, [ebp - 0x1ec]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x6f
lea ecx, [ebp - 0x1e4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x70
sub esp, 8
mov edx, esp
mov dword [ebp - 0x668], esp
mov dword [ebp - 0x948], edx
mov eax, dword [ebp - 0x948]
mov ecx, dword [ebp - 0x1ec]
mov dword [eax], ecx
mov edx, dword [ebp - 0x948]
add edx, 4
mov dword [ebp - 0x944], edx
mov eax, dword [ebp - 0x944]
mov ecx, dword [ebp - 0x1e8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x944]
cmp dword [edx], 0
je 0x1001104a
mov eax, dword [ebp - 0x944]
mov ecx, dword [eax]
mov dword [ebp - 0x940], ecx
mov edx, dword [ebp - 0x940]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x71
mov byte [ebp - 4], 0x70
mov ecx, dword [ebp - 0x948]
mov dword [ebp - 0xb40], ecx
mov byte [ebp - 4], 0x72
mov edx, dword [ebp - 0x1e4]
mov dword [ebp - 0x94c], edx
mov byte [ebp - 4], 0x70
mov ecx, dword [ebp - 0x94c]
call fcn.100ff530
mov byte [ebp - 0xb41], al
movzx eax, byte [ebp - 0xb41]
test eax, eax
sete cl
movzx edx, cl
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x73
mov byte [ebp - 4], 0x6f
lea eax, [ebp - 0x1e0]
mov dword [ebp - 0x950], eax
mov ecx, dword [ebp - 0x950]
cmp dword [ecx], 0
je 0x100110c7
mov edx, dword [ebp - 0x950]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x74
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1e8]
mov dword [ebp - 0x954], eax
mov ecx, dword [ebp - 0x954]
cmp dword [ecx], 0
je 0x100110f9
mov edx, dword [ebp - 0x954]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
lea eax, [ebp - 0x1f4]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x75
lea ecx, [ebp - 0x1fc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x76
sub esp, 8
mov edx, esp
mov dword [ebp - 0x66c], esp
mov dword [ebp - 0x960], edx
mov eax, dword [ebp - 0x960]
mov ecx, dword [ebp - 0x1f4]
mov dword [eax], ecx
mov edx, dword [ebp - 0x960]
add edx, 4
mov dword [ebp - 0x95c], edx
mov eax, dword [ebp - 0x95c]
mov ecx, dword [ebp - 0x1f0]
mov dword [eax], ecx
mov edx, dword [ebp - 0x95c]
cmp dword [edx], 0
je 0x1001118e
mov eax, dword [ebp - 0x95c]
mov ecx, dword [eax]
mov dword [ebp - 0x958], ecx
mov edx, dword [ebp - 0x958]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x77
mov byte [ebp - 4], 0x76
mov ecx, dword [ebp - 0x960]
mov dword [ebp - 0xb48], ecx
mov byte [ebp - 4], 0x78
mov edx, dword [ebp - 0x1fc]
mov dword [ebp - 0x964], edx
mov byte [ebp - 4], 0x76
mov ecx, dword [ebp - 0x964]
call fcn.100ffa40
sub esp, 8
mov eax, esp
mov dword [ebp - 0x670], esp
mov dword [ebp - 0x970], eax
mov ecx, dword [ebp - 0x970]
mov edx, dword [ebp - 0x1fc]
mov dword [ecx], edx
mov eax, dword [ebp - 0x970]
add eax, 4
mov dword [ebp - 0x96c], eax
mov ecx, dword [ebp - 0x96c]
mov edx, dword [ebp - 0x1f8]
mov dword [ecx], edx
mov eax, dword [ebp - 0x96c]
cmp dword [eax], 0
je 0x10011228
mov ecx, dword [ebp - 0x96c]
mov edx, dword [ecx]
mov dword [ebp - 0x968], edx
mov eax, dword [ebp - 0x968]
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x79
mov byte [ebp - 4], 0x76
mov edx, dword [ebp - 0x970]
mov dword [ebp - 0xb4c], edx
mov byte [ebp - 4], 0x7a
mov byte [ebp - 4], 0x76
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0x7b
mov byte [ebp - 4], 0x75
lea eax, [ebp - 0x1f8]
mov dword [ebp - 0x974], eax
mov ecx, dword [ebp - 0x974]
cmp dword [ecx], 0
je 0x10011278
mov edx, dword [ebp - 0x974]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x7c
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x1f0]
mov dword [ebp - 0x978], eax
mov ecx, dword [ebp - 0x978]
cmp dword [ecx], 0
je 0x100112aa
mov edx, dword [ebp - 0x978]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103d20
jmp case.default.0x1000ea54
mov dword [ebp - 0x228], 0
lea eax, [ebp - 0x224]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea eax, [ebp - 0x981]
mov dword [ebp - 0x980], eax
lea ecx, [ebp - 0x220]
mov dword [ebp - 0xb50], ecx
mov dword [ebp - 4], 0x7d
push 0
push 0
lea ecx, [ebp - 0x220]
call fcn.10042350
mov dword [ebp - 4], 0x7e
mov edx, dword [ebp - 0x228]
cmp edx, dword [ebp - 0x224]
jae 0x100113ff
mov eax, dword [ebp - 0xa68]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x988], ecx
mov edx, dword [ebp - 0x988]
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0xa68]
mov ecx, dword [eax + 8]
mov dword [ebp - 0x98c], ecx
mov edx, dword [ebp - 0x98c]
mov dword [ebp - 0x230], edx
jmp 0x10011376
mov eax, dword [ebp - 0x22c]
add eax, 1
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x22c]
xor edx, edx
cmp ecx, dword [ebp - 0x230]
sete dl
movzx eax, dl
neg eax
sbb eax, eax
add eax, 1
movzx ecx, al
test ecx, ecx
je 0x100113fa
mov edx, dword [ebp - 0x228]
cmp edx, dword [ebp - 0x224]
je 0x100113fa
xor eax, eax
jne 0x100113a6
mov ecx, dword [ebp - 0x22c]
movzx edx, byte [ecx]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx eax, byte [ecx]
xor edx, eax
mov byte [ebp - 0xb51], dl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0xb51]
push ecx
lea ecx, [ebp - 0x220]
call fcn.1003b6f0
mov edx, dword [ebp - 0x228]
add edx, 1
mov dword [ebp - 0x228], edx
jmp 0x10011367
jmp 0x1001131d
mov eax, dword [ebp - 0x224]
add eax, 1
push eax
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x204]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov byte [ebp - 4], 0x7f
mov edx, dword [ebp - 0x204]
mov dword [ebp - 0xb58], edx
cmp dword [ebp - 0x20c], 0x10
jb 0x10011447
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0xb5c], eax
jmp 0x10011453
lea ecx, [ebp - 0x220]
mov dword [ebp - 0xb5c], ecx
mov edx, dword [ebp - 0x224]
add edx, 1
push edx
mov eax, dword [ebp - 0xb5c]
push eax
mov ecx, dword [ebp - 0xb58]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xb58]
mov eax, dword [edx + 0x1c]
call eax
push eax
call fcn.1014c8e0
add esp, 4
mov ecx, esp
mov dword [ebp - 0x674], esp
mov dword [ebp - 0x9a8], ecx
mov edx, dword [ebp - 0x9a8]
mov eax, dword [ebp - 0x204]
mov dword [edx], eax
mov ecx, dword [ebp - 0x9a8]
add ecx, 4
mov dword [ebp - 0x9a4], ecx
mov edx, dword [ebp - 0x9a4]
mov eax, dword [ebp - 0x200]
mov dword [edx], eax
mov ecx, dword [ebp - 0x9a4]
cmp dword [ecx], 0
je 0x100114e4
mov edx, dword [ebp - 0x9a4]
mov eax, dword [edx]
mov dword [ebp - 0x9a0], eax
mov ecx, dword [ebp - 0x9a0]
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x80
mov byte [ebp - 4], 0x7f
mov eax, dword [ebp - 0x9a8]
mov dword [ebp - 0xb60], eax
mov byte [ebp - 4], 0x81
mov byte [ebp - 4], 0x7f
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0x82
mov byte [ebp - 4], 0x7e
lea ecx, [ebp - 0x200]
mov dword [ebp - 0x9ac], ecx
mov edx, dword [ebp - 0x9ac]
cmp dword [edx], 0
je 0x10011534
mov eax, dword [ebp - 0x9ac]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x83
push 0
push 1
lea ecx, [ebp - 0x220]
call fcn.10042350
mov dword [ebp - 4], 0xffffffff
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x231], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0x231]
and ecx, 0x80
je 0x1001159b
movzx edx, byte [ebp - 0x231]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.1005ca20
jmp 0x100115bb
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
movzx edx, byte [ebp - 0x231]
push edx
mov ecx, dword [ebp + 8]
call fcn.101021a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10102340
mov byte [ebp - 0x232], al
movzx eax, byte [ebp - 0x232]
test eax, eax
jne 0x100115e0
xor al, al
jmp 0x10014e27
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x244]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x84
lea edx, [ebp - 0x23c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x85
sub esp, 8
mov eax, esp
mov dword [ebp - 0x678], esp
mov dword [ebp - 0x9b8], eax
mov ecx, dword [ebp - 0x9b8]
mov edx, dword [ebp - 0x244]
mov dword [ecx], edx
mov eax, dword [ebp - 0x9b8]
add eax, 4
mov dword [ebp - 0x9b4], eax
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ebp - 0x240]
mov dword [ecx], edx
mov eax, dword [ebp - 0x9b4]
cmp dword [eax], 0
je 0x10011675
mov ecx, dword [ebp - 0x9b4]
mov edx, dword [ecx]
mov dword [ebp - 0x9b0], edx
mov eax, dword [ebp - 0x9b0]
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0x86
mov byte [ebp - 4], 0x85
mov edx, dword [ebp - 0x9b8]
mov dword [ebp - 0xb64], edx
mov byte [ebp - 4], 0x87
mov eax, dword [ebp - 0x23c]
mov dword [ebp - 0x9bc], eax
mov byte [ebp - 4], 0x85
mov ecx, dword [ebp - 0x9bc]
call fcn.100ff600
mov byte [ebp - 0xb65], al
movzx ecx, byte [ebp - 0xb65]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x88
mov byte [ebp - 4], 0x84
lea ecx, [ebp - 0x238]
mov dword [ebp - 0x9c0], ecx
mov edx, dword [ebp - 0x9c0]
cmp dword [edx], 0
je 0x100116f2
mov eax, dword [ebp - 0x9c0]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0x89
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x240]
mov dword [ebp - 0x9c4], ecx
mov edx, dword [ebp - 0x9c4]
cmp dword [edx], 0
je 0x10011724
mov eax, dword [ebp - 0x9c4]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x245], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0x245]
and ecx, 8
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0x245]
and ecx, 4
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0x245]
and ecx, 3
push ecx
mov ecx, dword [ebp + 8]
call fcn.10104880
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104310
jmp case.default.0x1000ea54
lea edx, [ebp - 0x24c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
push 0
mov edx, dword [ebp - 0x24c]
push edx
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x251], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
push 0
movzx ecx, byte [ebp - 0x251]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x251]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x251]
and edx, 3
push edx
mov eax, dword [ebp - 0x250]
push eax
lea ecx, [ebp - 0x680]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0x8a
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x67c]
mov dword [ebp - 0x9c8], edx
mov eax, dword [ebp - 0x9c8]
cmp dword [eax], 0
je 0x10011868
mov ecx, dword [ebp - 0x9c8]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
lea edx, [ebp - 0x258]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x258]
push edx
mov ecx, dword [ebp + 8]
call fcn.10104c70
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103ac0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104310
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
lea eax, [ebp - 0x268]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x8b
lea ecx, [ebp - 0x260]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102e60
mov byte [ebp - 4], 0x8c
sub esp, 8
mov edx, esp
mov dword [ebp - 0x684], esp
mov dword [ebp - 0x9d4], edx
mov eax, dword [ebp - 0x9d4]
mov ecx, dword [ebp - 0x260]
mov dword [eax], ecx
mov edx, dword [ebp - 0x9d4]
add edx, 4
mov dword [ebp - 0x9d0], edx
mov eax, dword [ebp - 0x9d0]
mov ecx, dword [ebp - 0x25c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x9d0]
cmp dword [edx], 0
je 0x1001195a
mov eax, dword [ebp - 0x9d0]
mov ecx, dword [eax]
mov dword [ebp - 0x9cc], ecx
mov edx, dword [ebp - 0x9cc]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x8d
mov byte [ebp - 4], 0x8c
mov ecx, dword [ebp - 0x9d4]
mov dword [ebp - 0xb6c], ecx
mov byte [ebp - 4], 0x8e
mov edx, dword [ebp - 0x268]
mov dword [ebp - 0x9d8], edx
mov byte [ebp - 4], 0x8c
mov ecx, dword [ebp - 0x9d8]
call fcn.100ffa40
mov byte [ebp - 4], 0x8f
mov byte [ebp - 4], 0x8b
lea eax, [ebp - 0x25c]
mov dword [ebp - 0x9dc], eax
mov ecx, dword [ebp - 0x9dc]
cmp dword [ecx], 0
je 0x100119b9
mov edx, dword [ebp - 0x9dc]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x90
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x264]
mov dword [ebp - 0x9e0], eax
mov ecx, dword [ebp - 0x9e0]
cmp dword [ecx], 0
je 0x100119eb
mov edx, dword [ebp - 0x9e0]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103bf0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xb70], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xb70]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102820
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xb74], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xb74]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102470
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x68c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x91
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x688]
mov dword [ebp - 0x9e4], edx
mov eax, dword [ebp - 0x9e4]
cmp dword [eax], 0
je 0x10011acf
mov ecx, dword [ebp - 0x9e4]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101030f0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x26c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
push 0
mov edx, dword [ebp - 0x26c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
push 0
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xb78], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xb78]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101026f0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x27c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x92
lea eax, [ebp - 0x274]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x93
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x690], esp
mov dword [ebp - 0x9f0], ecx
mov edx, dword [ebp - 0x9f0]
mov eax, dword [ebp - 0x27c]
mov dword [edx], eax
mov ecx, dword [ebp - 0x9f0]
add ecx, 4
mov dword [ebp - 0x9ec], ecx
mov edx, dword [ebp - 0x9ec]
mov eax, dword [ebp - 0x278]
mov dword [edx], eax
mov ecx, dword [ebp - 0x9ec]
cmp dword [ecx], 0
je 0x10011bfc
mov edx, dword [ebp - 0x9ec]
mov eax, dword [edx]
mov dword [ebp - 0x9e8], eax
mov ecx, dword [ebp - 0x9e8]
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0x94
mov byte [ebp - 4], 0x93
mov eax, dword [ebp - 0x9f0]
mov dword [ebp - 0xb7c], eax
mov byte [ebp - 4], 0x95
mov ecx, dword [ebp - 0x274]
mov dword [ebp - 0x9f4], ecx
mov byte [ebp - 4], 0x93
mov ecx, dword [ebp - 0x9f4]
call fcn.100ff600
mov byte [ebp - 0xb7d], al
movzx edx, byte [ebp - 0xb7d]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x96
mov byte [ebp - 4], 0x92
lea eax, [ebp - 0x270]
mov dword [ebp - 0x9f8], eax
mov ecx, dword [ebp - 0x9f8]
cmp dword [ecx], 0
je 0x10011c71
mov edx, dword [ebp - 0x9f8]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x97
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x278]
mov dword [ebp - 0x9fc], eax
mov ecx, dword [ebp - 0x9fc]
cmp dword [ecx], 0
je 0x10011ca3
mov edx, dword [ebp - 0x9fc]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
lea eax, [ebp - 0x28c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x98
lea ecx, [ebp - 0x284]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x99
sub esp, 8
mov edx, esp
mov dword [ebp - 0x694], esp
mov dword [ebp - 0xa08], edx
mov eax, dword [ebp - 0xa08]
mov ecx, dword [ebp - 0x28c]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa08]
add edx, 4
mov dword [ebp - 0xa04], edx
mov eax, dword [ebp - 0xa04]
mov ecx, dword [ebp - 0x288]
mov dword [eax], ecx
mov edx, dword [ebp - 0xa04]
cmp dword [edx], 0
je 0x10011d38
mov eax, dword [ebp - 0xa04]
mov ecx, dword [eax]
mov dword [ebp - 0xa00], ecx
mov edx, dword [ebp - 0xa00]
add edx, 4
mov eax, 1
lock xadd dword [edx], eax
mov byte [ebp - 4], 0x9a
mov byte [ebp - 4], 0x99
mov ecx, dword [ebp - 0xa08]
mov dword [ebp - 0xb84], ecx
mov byte [ebp - 4], 0x9b
mov edx, dword [ebp - 0x284]
mov dword [ebp - 0xa0c], edx
mov byte [ebp - 4], 0x99
mov ecx, dword [ebp - 0xa0c]
call fcn.100ff530
mov byte [ebp - 0xb85], al
movzx eax, byte [ebp - 0xb85]
test eax, eax
sete cl
movzx edx, cl
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0x9c
mov byte [ebp - 4], 0x98
lea eax, [ebp - 0x280]
mov dword [ebp - 0xa10], eax
mov ecx, dword [ebp - 0xa10]
cmp dword [ecx], 0
je 0x10011db5
mov edx, dword [ebp - 0xa10]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0x9d
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x288]
mov dword [ebp - 0xa14], eax
mov ecx, dword [ebp - 0xa14]
cmp dword [ecx], 0
je 0x10011de7
mov edx, dword [ebp - 0xa14]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101030f0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xb8c], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xb8c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101025b0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x294]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0x9e
lea eax, [ebp - 0x29c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0x9f
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x698], esp
mov dword [ebp - 0xa20], ecx
mov edx, dword [ebp - 0xa20]
mov eax, dword [ebp - 0x294]
mov dword [edx], eax
mov ecx, dword [ebp - 0xa20]
add ecx, 4
mov dword [ebp - 0xa1c], ecx
mov edx, dword [ebp - 0xa1c]
mov eax, dword [ebp - 0x290]
mov dword [edx], eax
mov ecx, dword [ebp - 0xa1c]
cmp dword [ecx], 0
je 0x10011ecb
mov edx, dword [ebp - 0xa1c]
mov eax, dword [edx]
mov dword [ebp - 0xa18], eax
mov ecx, dword [ebp - 0xa18]
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0xa0
mov byte [ebp - 4], 0x9f
mov eax, dword [ebp - 0xa20]
mov dword [ebp - 0xb90], eax
mov byte [ebp - 4], 0xa1
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0xa24], ecx
mov byte [ebp - 4], 0x9f
mov ecx, dword [ebp - 0xa24]
call fcn.100ffa40
mov byte [ebp - 4], 0xa2
mov byte [ebp - 4], 0x9e
lea edx, [ebp - 0x298]
mov dword [ebp - 0xa28], edx
mov eax, dword [ebp - 0xa28]
cmp dword [eax], 0
je 0x10011f2a
mov ecx, dword [ebp - 0xa28]
mov ecx, dword [ecx]
call fcn.10021940
mov dword [ebp - 4], 0xa3
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x290]
mov dword [ebp - 0xa2c], edx
mov eax, dword [ebp - 0xa2c]
cmp dword [eax], 0
je 0x10011f5c
mov ecx, dword [ebp - 0xa2c]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov cl, byte [eax]
mov byte [ebp - 0x29d], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
movzx edx, byte [ebp - 0x29d]
and edx, 8
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x29d]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x29d]
and edx, 3
push edx
mov ecx, dword [ebp + 8]
call fcn.10104880
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xb94], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xb94]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101026f0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2a8], eax
lea eax, [ebp - 0x2a4]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2a8]
push eax
mov ecx, dword [ebp - 0x2a4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2ac], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x2ad], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
lea eax, [ebp - 0x2b4]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2b4]
push eax
movzx ecx, byte [ebp - 0x2ad]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x2ad]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x2ad]
and edx, 3
push edx
mov eax, dword [ebp - 0x2ac]
push eax
lea ecx, [ebp - 0x6a0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xa4
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x69c]
mov dword [ebp - 0xa30], edx
mov eax, dword [ebp - 0xa30]
cmp dword [eax], 0
je 0x10012116
mov ecx, dword [ebp - 0xa30]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2b8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x2b9], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
lea eax, [ebp - 0x2c0]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x2c0]
push eax
movzx ecx, byte [ebp - 0x2b9]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x2b9]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x2b9]
and edx, 3
push edx
mov eax, dword [ebp - 0x2b8]
push eax
lea ecx, [ebp - 0x6a8]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xa5
mov dword [ebp - 4], 0xffffffff
lea edx, [ebp - 0x6a4]
mov dword [ebp - 0xa34], edx
mov eax, dword [ebp - 0xa34]
cmp dword [eax], 0
je 0x100121e5
mov ecx, dword [ebp - 0xa34]
mov ecx, dword [ecx]
call fcn.10021940
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2c4], eax
mov eax, dword [ebp - 0x2c4]
push eax
mov ecx, dword [ebp + 8]
call fcn.10103390
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x2c8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
push 0
mov eax, dword [ebp - 0x2c8]
push eax
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2cc], eax
mov edx, dword [ebp - 0x2cc]
push edx
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101030f0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2d0], eax
mov ecx, dword [ebp - 0x2d0]
push ecx
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xb98], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xb98]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102470
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x2d1], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
lea ecx, [ebp - 0x2d8]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
movzx eax, byte [ebp - 0x2d1]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x2d1]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x2d1]
and eax, 3
push eax
mov ecx, dword [ebp - 0x2d8]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101049e0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x2e8]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xa6
lea eax, [ebp - 0x2e0]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xa7
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6ac], esp
mov dword [ebp - 0xa40], ecx
mov edx, dword [ebp - 0xa40]
mov eax, dword [ebp - 0x2e8]
mov dword [edx], eax
mov ecx, dword [ebp - 0xa40]
add ecx, 4
mov dword [ebp - 0xa3c], ecx
mov edx, dword [ebp - 0xa3c]
mov eax, dword [ebp - 0x2e4]
mov dword [edx], eax
mov ecx, dword [ebp - 0xa3c]
cmp dword [ecx], 0
je 0x100123fe
mov edx, dword [ebp - 0xa3c]
mov eax, dword [edx]
mov dword [ebp - 0xa38], eax
mov ecx, dword [ebp - 0xa38]
add ecx, 4
mov edx, 1
lock xadd dword [ecx], edx
mov byte [ebp - 4], 0xa8
mov byte [ebp - 4], 0xa7
mov eax, dword [ebp - 0xa40]
mov dword [ebp - 0xb9c], eax
mov byte [ebp - 4], 0xa9
mov ecx, dword [ebp - 0x2e0]
mov dword [ebp - 0xa44], ecx
mov byte [ebp - 4], 0xa7
mov ecx, dword [ebp - 0xa44]
call fcn.100ff530
mov byte [ebp - 0xb9d], al
movzx edx, byte [ebp - 0xb9d]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xaa
mov byte [ebp - 4], 0xa6
lea eax, [ebp - 0x2dc]
mov dword [ebp - 0xa48], eax
mov ecx, dword [ebp - 0xa48]
cmp dword [ecx], 0
je 0x10012473
mov edx, dword [ebp - 0xa48]
mov ecx, dword [edx]
call fcn.10021940
mov dword [ebp - 4], 0xab
mov dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0xa4c], eax
mov ecx, dword [ebp - 0xa4c]
cmp dword [ecx], 0
je 0x100124a5
mov edx, dword [ebp - 0xa4c]
mov ecx, dword [edx]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101030f0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2ec], eax
mov ecx, dword [ebp - 0x2ec]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xba4], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xba4]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102170
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp + 8]
call fcn.10102410
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103e50
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10102340
mov byte [ebp - 0x2ed], al
movzx ecx, byte [ebp - 0x2ed]
test ecx, ecx
jne 0x10012557
xor al, al
jmp 0x10014e27
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2f4], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x2f5], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
push 0
movzx eax, byte [ebp - 0x2f5]
sar eax, 3
push eax
movzx ecx, byte [ebp - 0x2f5]
and ecx, 4
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0x2f5]
and ecx, 3
push ecx
mov edx, dword [ebp - 0x2f4]
push edx
lea eax, [ebp - 0x6b4]
push eax
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xac
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6b0]
mov dword [ebp - 0xa50], ecx
mov edx, dword [ebp - 0xa50]
cmp dword [edx], 0
je 0x100125ff
mov eax, dword [ebp - 0xa50]
mov ecx, dword [eax]
call fcn.10021940
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x2fc], eax
mov edx, dword [ebp - 0x2fc]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102cb0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xba8], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp - 0xba8]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102170
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp + 8]
call fcn.10102410
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x300], eax
mov eax, dword [ebp - 0x300]
push eax
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x301], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
lea ecx, [ebp - 0x308]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
movzx eax, byte [ebp - 0x301]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x301]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x301]
and eax, 3
push eax
mov ecx, dword [ebp - 0x308]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101049e0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xbac], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xbac]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102970
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x318]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xad
lea edx, [ebp - 0x310]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xae
sub esp, 8
mov eax, esp
mov dword [ebp - 0x6b8], esp
mov dword [ebp - 0xa5c], eax
mov ecx, dword [ebp - 0xa5c]
mov edx, dword [ebp - 0x318]
mov dword [ecx], edx
mov eax, dword [ebp - 0xa5c]
add eax, 4
mov dword [ebp - 0xa58], eax
mov ecx, dword [ebp - 0xa58]
mov edx, dword [ebp - 0x314]
mov dword [ecx], edx
mov eax, dword [ebp - 0xa58]
cmp dword [eax], 0
je 0x100127f2
mov ecx, dword [ebp - 0xa58]
mov edx, dword [ecx]
mov dword [ebp - 0xa54], edx
mov eax, dword [ebp - 0xa54]
add eax, 4
mov ecx, 1
lock xadd dword [eax], ecx
mov byte [ebp - 4], 0xaf
mov byte [ebp - 4], 0xae
mov edx, dword [ebp - 0xa5c]
mov dword [ebp - 0xbb0], edx
mov byte [ebp - 4], 0xb0
mov eax, dword [ebp - 0x310]
mov dword [ebp - 0xa60], eax
mov byte [ebp - 4], 0xae
mov ecx, dword [ebp - 0xa60]
call fcn.100ff820
mov byte [ebp - 0xbb1], al
movzx ecx, byte [ebp - 0xbb1]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xb1
mov byte [ebp - 4], 0xad
lea ecx, [ebp - 0x30c]
mov dword [ebp - 0xa64], ecx
mov edx, dword [ebp - 0xa64]
cmp dword [edx], 0
je 0x1001286f
mov eax, dword [ebp - 0xa64]
mov ecx, dword [eax]
call fcn.10021940
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x318]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104570
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
xor eax, 0x9e
mov dword [ebp - 0xbb8], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp - 0xbb8]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102170
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xbbc], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xbbc]
push eax
mov ecx, dword [ebp + 8]
call fcn.101026f0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x321], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
push 0
movzx ecx, byte [ebp - 0x321]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x321]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x321]
and edx, 3
push edx
push 0
lea eax, [ebp - 0x320]
push eax
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xb2
movzx ecx, byte [ebp - 0x321]
and ecx, 4
je 0x100129cc
lea edx, [ebp - 0x32c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd50
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x320]
call fcn.100e6250
mov dword [ebp - 0xbc0], eax
mov edx, dword [ebp - 0x328]
push edx
mov eax, dword [ebp - 0x32c]
push eax
mov ecx, dword [ebp - 0xbc0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xbc0]
mov eax, dword [edx + 0xc]
call eax
jmp 0x10012a20
lea ecx, [ebp - 0x334]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd10
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x320]
call fcn.100e6250
mov dword [ebp - 0xbc4], eax
mov eax, dword [ebp - 0x330]
push eax
mov ecx, dword [ebp - 0x334]
push ecx
mov edx, dword [ebp - 0xbc4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xbc4]
mov edx, dword [eax + 0x10]
call edx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6bc], esp
lea eax, [ebp - 0x320]
push eax
call fcn.100084d0
mov dword [ebp - 0xbc8], eax
mov ecx, dword [ebp - 0xbc8]
mov dword [ebp - 0xbcc], ecx
mov byte [ebp - 4], 0xb3
mov byte [ebp - 4], 0xb2
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x320]
call fcn.10126650
jmp case.default.0x1000ea54
lea edx, [ebp - 0x344]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xb4
lea eax, [ebp - 0x33c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xb5
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6c0], esp
lea edx, [ebp - 0x344]
push edx
call fcn.100084d0
mov dword [ebp - 0xbd0], eax
mov eax, dword [ebp - 0xbd0]
mov dword [ebp - 0xbd4], eax
mov byte [ebp - 4], 0xb6
lea ecx, [ebp - 0x33c]
call fcn.100e6250
mov byte [ebp - 4], 0xb5
mov ecx, eax
call fcn.100ff820
mov byte [ebp - 0xbd5], al
movzx ecx, byte [ebp - 0xbd5]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xb4
lea ecx, [ebp - 0x33c]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x344]
call fcn.10126650
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x34c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xb7
lea edx, [ebp - 0x354]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xb8
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6c4], esp
lea eax, [ebp - 0x34c]
push eax
call fcn.100084d0
mov dword [ebp - 0xbdc], eax
mov ecx, dword [ebp - 0xbdc]
mov dword [ebp - 0xbe0], ecx
mov byte [ebp - 4], 0xb9
lea ecx, [ebp - 0x354]
call fcn.100e6250
mov byte [ebp - 4], 0xb8
mov ecx, eax
call fcn.100ffa40
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6c8], esp
lea edx, [ebp - 0x354]
push edx
call fcn.100084d0
mov dword [ebp - 0xbe4], eax
mov eax, dword [ebp - 0xbe4]
mov dword [ebp - 0xbe8], eax
mov byte [ebp - 4], 0xba
mov byte [ebp - 4], 0xb8
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0xb7
lea ecx, [ebp - 0x354]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34c]
call fcn.10126650
jmp case.default.0x1000ea54
push 0
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x6d0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
lea ecx, [ebp - 0x6d0]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
lea edx, [ebp - 0x35c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xbb
lea eax, [ebp - 0x364]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xbc
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6d4], esp
lea edx, [ebp - 0x35c]
push edx
call fcn.100084d0
mov dword [ebp - 0xbec], eax
mov eax, dword [ebp - 0xbec]
mov dword [ebp - 0xbf0], eax
mov byte [ebp - 4], 0xbd
lea ecx, [ebp - 0x364]
call fcn.100e6250
mov byte [ebp - 4], 0xbc
mov ecx, eax
call fcn.100ffa40
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6d8], esp
lea edx, [ebp - 0x364]
push edx
call fcn.100084d0
mov dword [ebp - 0xbf4], eax
mov eax, dword [ebp - 0xbf4]
mov dword [ebp - 0xbf8], eax
mov byte [ebp - 4], 0xbe
mov byte [ebp - 4], 0xbc
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0xbb
lea ecx, [ebp - 0x364]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x35c]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101030f0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104440
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x368], eax
mov edx, dword [ebp - 0x368]
push edx
mov ecx, dword [ebp + 8]
call fcn.10103390
jmp case.default.0x1000ea54
lea eax, [ebp - 0x378]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xbf
lea ecx, [ebp - 0x370]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xc0
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6dc], esp
lea edx, [ebp - 0x378]
push edx
call fcn.100084d0
mov dword [ebp - 0xbfc], eax
mov eax, dword [ebp - 0xbfc]
mov dword [ebp - 0xc00], eax
mov byte [ebp - 4], 0xc1
lea ecx, [ebp - 0x370]
call fcn.100e6250
mov byte [ebp - 4], 0xc0
mov ecx, eax
call fcn.100ff820
mov byte [ebp - 0xc01], al
movzx ecx, byte [ebp - 0xc01]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xbf
lea ecx, [ebp - 0x370]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x378]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103f80
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x379], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
lea ecx, [ebp - 0x380]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
movzx eax, byte [ebp - 0x379]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x379]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x379]
and eax, 3
push eax
mov ecx, dword [ebp - 0x380]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101049e0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101041e0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x6e4]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
lea ecx, [ebp - 0x6e4]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101031a0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x389], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
push 0
movzx eax, byte [ebp - 0x389]
sar eax, 3
push eax
movzx ecx, byte [ebp - 0x389]
and ecx, 4
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0x389]
and ecx, 3
push ecx
push 0
lea edx, [ebp - 0x388]
push edx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xc2
movzx eax, byte [ebp - 0x389]
and eax, 4
je 0x10012f79
lea ecx, [ebp - 0x394]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd50
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x388]
call fcn.100e6250
mov dword [ebp - 0xc08], eax
mov eax, dword [ebp - 0x390]
push eax
mov ecx, dword [ebp - 0x394]
push ecx
mov edx, dword [ebp - 0xc08]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc08]
mov edx, dword [eax + 0xc]
call edx
jmp 0x10012fcd
lea eax, [ebp - 0x39c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd10
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x388]
call fcn.100e6250
mov dword [ebp - 0xc0c], eax
mov eax, dword [ebp - 0x398]
push eax
mov ecx, dword [ebp - 0x39c]
push ecx
mov edx, dword [ebp - 0xc0c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc0c]
mov edx, dword [eax + 0x10]
call edx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6e8], esp
lea eax, [ebp - 0x388]
push eax
call fcn.100084d0
mov dword [ebp - 0xc10], eax
mov ecx, dword [ebp - 0xc10]
mov dword [ebp - 0xc14], ecx
mov byte [ebp - 4], 0xc3
mov byte [ebp - 4], 0xc2
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x388]
call fcn.10126650
jmp case.default.0x1000ea54
lea edx, [ebp - 0x6f0]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
lea ecx, [ebp - 0x6f0]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103980
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xc18], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xc18]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102970
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov cl, byte [eax]
mov byte [ebp - 0x3a5], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
push 0
movzx edx, byte [ebp - 0x3a5]
sar edx, 3
push edx
movzx eax, byte [ebp - 0x3a5]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x3a5]
and eax, 3
push eax
push 0
lea ecx, [ebp - 0x3a4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xc4
movzx edx, byte [ebp - 0x3a5]
and edx, 4
je 0x1001314b
lea eax, [ebp - 0x3b4]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd50
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x3a4]
call fcn.100e6250
mov dword [ebp - 0xc1c], eax
mov eax, dword [ebp - 0x3b0]
push eax
mov ecx, dword [ebp - 0x3b4]
push ecx
mov edx, dword [ebp - 0xc1c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc1c]
mov edx, dword [eax + 0xc]
call edx
jmp 0x1001319f
lea eax, [ebp - 0x3bc]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd10
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x3a4]
call fcn.100e6250
mov dword [ebp - 0xc20], eax
mov eax, dword [ebp - 0x3b8]
push eax
mov ecx, dword [ebp - 0x3bc]
push ecx
mov edx, dword [ebp - 0xc20]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc20]
mov edx, dword [eax + 0x10]
call edx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6f4], esp
lea eax, [ebp - 0x3a4]
push eax
call fcn.100084d0
mov dword [ebp - 0xc24], eax
mov ecx, dword [ebp - 0xc24]
mov dword [ebp - 0xc28], ecx
mov byte [ebp - 4], 0xc5
mov byte [ebp - 4], 0xc4
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3a4]
call fcn.10126650
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov cl, byte [eax]
mov byte [ebp - 0x3c5], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
push 0
movzx edx, byte [ebp - 0x3c5]
sar edx, 3
push edx
movzx eax, byte [ebp - 0x3c5]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x3c5]
and eax, 3
push eax
push 0
lea ecx, [ebp - 0x3c4]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xc6
movzx edx, byte [ebp - 0x3c5]
and edx, 4
je 0x100132af
lea eax, [ebp - 0x3d4]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd50
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x3c4]
call fcn.100e6250
mov dword [ebp - 0xc2c], eax
mov eax, dword [ebp - 0x3d0]
push eax
mov ecx, dword [ebp - 0x3d4]
push ecx
mov edx, dword [ebp - 0xc2c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc2c]
mov edx, dword [eax + 0xc]
call edx
jmp 0x10013303
lea eax, [ebp - 0x3dc]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd10
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x3c4]
call fcn.100e6250
mov dword [ebp - 0xc30], eax
mov eax, dword [ebp - 0x3d8]
push eax
mov ecx, dword [ebp - 0x3dc]
push ecx
mov edx, dword [ebp - 0xc30]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc30]
mov edx, dword [eax + 0x10]
call edx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6f8], esp
lea eax, [ebp - 0x3c4]
push eax
call fcn.100084d0
mov dword [ebp - 0xc34], eax
mov ecx, dword [ebp - 0xc34]
mov dword [ebp - 0xc38], ecx
mov byte [ebp - 4], 0xc7
mov byte [ebp - 4], 0xc6
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3c4]
call fcn.10126650
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc3c], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xc3c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102170
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp + 8]
call fcn.10102410
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x3e5], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
push 0
movzx ecx, byte [ebp - 0x3e5]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x3e5]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x3e5]
and edx, 3
push edx
push 0
lea eax, [ebp - 0x3e4]
push eax
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xc8
movzx ecx, byte [ebp - 0x3e5]
and ecx, 4
je 0x1001345d
lea edx, [ebp - 0x3f4]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd50
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x3e4]
call fcn.100e6250
mov dword [ebp - 0xc40], eax
mov edx, dword [ebp - 0x3f0]
push edx
mov eax, dword [ebp - 0x3f4]
push eax
mov ecx, dword [ebp - 0xc40]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xc40]
mov eax, dword [edx + 0xc]
call eax
jmp 0x100134b1
lea ecx, [ebp - 0x3fc]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd10
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x3e4]
call fcn.100e6250
mov dword [ebp - 0xc44], eax
mov eax, dword [ebp - 0x3f8]
push eax
mov ecx, dword [ebp - 0x3fc]
push ecx
mov edx, dword [ebp - 0xc44]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xc44]
mov edx, dword [eax + 0x10]
call edx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x6fc], esp
lea eax, [ebp - 0x3e4]
push eax
call fcn.100084d0
mov dword [ebp - 0xc48], eax
mov ecx, dword [ebp - 0xc48]
mov dword [ebp - 0xc4c], ecx
mov byte [ebp - 4], 0xc9
mov byte [ebp - 4], 0xc8
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x3e4]
call fcn.10126650
jmp case.default.0x1000ea54
push 0
push 1
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc50], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xc50]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102820
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103f80
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x400], eax
mov edx, dword [ebp - 0x400]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102cb0
jmp case.default.0x1000ea54
lea eax, [ebp - 0x704]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
lea ecx, [ebp - 0x704]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101031a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x404], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov cl, byte [eax]
mov byte [ebp - 0x405], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea edx, [ebp - 0x40c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x40c]
push edx
movzx eax, byte [ebp - 0x405]
sar eax, 3
push eax
movzx ecx, byte [ebp - 0x405]
and ecx, 4
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0x405]
and ecx, 3
push ecx
mov edx, dword [ebp - 0x404]
push edx
lea eax, [ebp - 0x70c]
push eax
mov ecx, dword [ebp + 8]
call fcn.101034d0
lea ecx, [ebp - 0x70c]
call fcn.10126650
mov ecx, dword [ebp - 0x404]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103f80
jmp case.default.0x1000ea54
lea edx, [ebp - 0x410]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x410]
push edx
mov ecx, dword [ebp + 8]
call fcn.10104c70
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x414], eax
mov ecx, dword [ebp - 0x414]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10103390
jmp case.default.0x1000ea54
mov dword [ebp - 0x440], 0
lea edx, [ebp - 0x43c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x438]
call fcn.1003b630
mov dword [ebp - 4], 0xca
mov edx, dword [ebp - 0x440]
cmp edx, dword [ebp - 0x43c]
jae 0x100137e1
lea eax, [ebp - 0x444]
push eax
mov ecx, dword [ebp - 0xa68]
add ecx, 4
call fcn.1005dd90
lea ecx, [ebp - 0x448]
push ecx
mov ecx, dword [ebp - 0xa68]
add ecx, 4
call fcn.1005ddc0
jmp 0x10013760
lea ecx, [ebp - 0x444]
call fcn.1005dfa0
lea edx, [ebp - 0x448]
push edx
lea ecx, [ebp - 0x444]
call fcn.1005dfc0
movzx eax, al
test eax, eax
je 0x100137dc
mov ecx, dword [ebp - 0x440]
cmp ecx, dword [ebp - 0x43c]
je 0x100137dc
lea ecx, [ebp - 0x444]
call fcn.1005df80
movzx edx, byte [eax]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx eax, byte [ecx]
xor edx, eax
mov byte [ebp - 0xc51], dl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0xc51]
push ecx
lea ecx, [ebp - 0x438]
call fcn.1003b6f0
mov edx, dword [ebp - 0x440]
add edx, 1
mov dword [ebp - 0x440], edx
jmp 0x10013755
jmp 0x10013717
mov eax, dword [ebp - 0x43c]
add eax, 1
push eax
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x41c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov byte [ebp - 4], 0xcb
lea ecx, [ebp - 0x41c]
call fcn.100e6250
mov dword [ebp - 0xc58], eax
mov edx, dword [ebp - 0x43c]
add edx, 1
push edx
lea ecx, [ebp - 0x438]
call fcn.10088bb0
push eax
mov eax, dword [ebp - 0xc58]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc58]
mov eax, dword [edx + 0x1c]
call eax
push eax
call fcn.1014c8e0
add esp, 4
mov ecx, esp
mov dword [ebp - 0x710], esp
lea edx, [ebp - 0x41c]
push edx
call fcn.100084d0
mov dword [ebp - 0xc5c], eax
mov eax, dword [ebp - 0xc5c]
mov dword [ebp - 0xc60], eax
mov byte [ebp - 4], 0xcc
mov byte [ebp - 4], 0xcb
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0xca
lea ecx, [ebp - 0x41c]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x438]
call fcn.1003b690
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x449], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0x449]
and ecx, 8
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0x449]
and ecx, 4
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0x449]
and ecx, 3
push ecx
mov ecx, dword [ebp + 8]
call fcn.10104880
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103ac0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x45c]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xcd
lea eax, [ebp - 0x454]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xce
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x714], esp
lea edx, [ebp - 0x45c]
push edx
call fcn.100084d0
mov dword [ebp - 0xc64], eax
mov eax, dword [ebp - 0xc64]
mov dword [ebp - 0xc68], eax
mov byte [ebp - 4], 0xcf
lea ecx, [ebp - 0x454]
call fcn.100e6250
mov byte [ebp - 4], 0xce
mov ecx, eax
call fcn.100ff820
mov byte [ebp - 0xc69], al
movzx ecx, byte [ebp - 0xc69]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xcd
lea ecx, [ebp - 0x454]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x45c]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103bf0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc70], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xc70]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102aa0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104440
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x45d], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
lea ecx, [ebp - 0x464]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
movzx eax, byte [ebp - 0x45d]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x45d]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x45d]
and eax, 3
push eax
mov ecx, dword [ebp - 0x464]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101049e0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xc74], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0xc74]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102170
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp + 8]
call fcn.10102410
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x465], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0x465]
and ecx, 0x80
je 0x10013b1c
movzx edx, byte [ebp - 0x465]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.1005ca20
jmp 0x10013b3c
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
movzx edx, byte [ebp - 0x465]
push edx
mov ecx, dword [ebp + 8]
call fcn.101021a0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx edx, byte [ecx]
mov dword [ebp - 0xc78], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov ecx, dword [ebp - 0xc78]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101025b0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x478]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xd0
lea eax, [ebp - 0x470]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xd1
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x718], esp
lea edx, [ebp - 0x478]
push edx
call fcn.100084d0
mov dword [ebp - 0xc7c], eax
mov eax, dword [ebp - 0xc7c]
mov dword [ebp - 0xc80], eax
mov byte [ebp - 4], 0xd2
lea ecx, [ebp - 0x470]
call fcn.100e6250
mov byte [ebp - 4], 0xd1
mov ecx, eax
call fcn.100ff530
mov byte [ebp - 0xc81], al
movzx ecx, byte [ebp - 0xc81]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xd0
lea ecx, [ebp - 0x470]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x478]
call fcn.10126650
jmp case.default.0x1000ea54
mov dword [ebp - 0x4a4], 0
lea edx, [ebp - 0x4a0]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x49c]
call fcn.1003b630
mov dword [ebp - 4], 0xd3
mov edx, dword [ebp - 0x4a4]
cmp edx, dword [ebp - 0x4a0]
jae 0x10013d33
lea eax, [ebp - 0x4a8]
push eax
mov ecx, dword [ebp - 0xa68]
add ecx, 4
call fcn.1005dd90
lea ecx, [ebp - 0x4ac]
push ecx
mov ecx, dword [ebp - 0xa68]
add ecx, 4
call fcn.1005ddc0
jmp 0x10013cb2
lea ecx, [ebp - 0x4a8]
call fcn.1005dfa0
lea edx, [ebp - 0x4ac]
push edx
lea ecx, [ebp - 0x4a8]
call fcn.1005dfc0
movzx eax, al
test eax, eax
je 0x10013d2e
mov ecx, dword [ebp - 0x4a4]
cmp ecx, dword [ebp - 0x4a0]
je 0x10013d2e
lea ecx, [ebp - 0x4a8]
call fcn.1005df80
movzx edx, byte [eax]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx eax, byte [ecx]
xor edx, eax
mov byte [ebp - 0xc82], dl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0xc82]
push ecx
lea ecx, [ebp - 0x49c]
call fcn.1003b6f0
mov edx, dword [ebp - 0x4a4]
add edx, 1
mov dword [ebp - 0x4a4], edx
jmp 0x10013ca7
jmp 0x10013c69
mov eax, dword [ebp - 0x4a0]
add eax, 1
push eax
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x480]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov byte [ebp - 4], 0xd4
lea ecx, [ebp - 0x480]
call fcn.100e6250
mov dword [ebp - 0xc88], eax
mov edx, dword [ebp - 0x4a0]
add edx, 1
push edx
lea ecx, [ebp - 0x49c]
call fcn.10088bb0
push eax
mov eax, dword [ebp - 0xc88]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc88]
mov eax, dword [edx + 0x1c]
call eax
push eax
call fcn.1014c8e0
add esp, 4
mov ecx, esp
mov dword [ebp - 0x71c], esp
lea edx, [ebp - 0x480]
push edx
call fcn.100084d0
mov dword [ebp - 0xc8c], eax
mov eax, dword [ebp - 0xc8c]
mov dword [ebp - 0xc90], eax
mov byte [ebp - 4], 0xd5
mov byte [ebp - 4], 0xd4
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0xd3
lea ecx, [ebp - 0x480]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x49c]
call fcn.1003b690
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x4b0], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
mov cl, byte [eax]
mov byte [ebp - 0x4b1], cl
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea edx, [ebp - 0x4b8]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x4b8]
push edx
movzx eax, byte [ebp - 0x4b1]
sar eax, 3
push eax
movzx ecx, byte [ebp - 0x4b1]
and ecx, 4
setne dl
movzx eax, dl
push eax
movzx ecx, byte [ebp - 0x4b1]
and ecx, 3
push ecx
mov edx, dword [ebp - 0x4b0]
push edx
lea eax, [ebp - 0x724]
push eax
mov ecx, dword [ebp + 8]
call fcn.101034d0
lea ecx, [ebp - 0x724]
call fcn.10126650
mov ecx, dword [ebp - 0x4b0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103e50
jmp case.default.0x1000ea54
mov dword [ebp - 0x4e4], 0
lea edx, [ebp - 0x4e0]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x4dc]
call fcn.1003b630
mov dword [ebp - 4], 0xd6
mov edx, dword [ebp - 0x4e4]
cmp edx, dword [ebp - 0x4e0]
jae 0x10013fc3
lea eax, [ebp - 0x4e8]
push eax
mov ecx, dword [ebp - 0xa68]
add ecx, 4
call fcn.1005dd90
lea ecx, [ebp - 0x4ec]
push ecx
mov ecx, dword [ebp - 0xa68]
add ecx, 4
call fcn.1005ddc0
jmp 0x10013f42
lea ecx, [ebp - 0x4e8]
call fcn.1005dfa0
lea edx, [ebp - 0x4ec]
push edx
lea ecx, [ebp - 0x4e8]
call fcn.1005dfc0
movzx eax, al
test eax, eax
je 0x10013fbe
mov ecx, dword [ebp - 0x4e4]
cmp ecx, dword [ebp - 0x4e0]
je 0x10013fbe
lea ecx, [ebp - 0x4e8]
call fcn.1005df80
movzx edx, byte [eax]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
movzx eax, byte [ecx]
xor edx, eax
mov byte [ebp - 0xc91], dl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
movzx ecx, byte [ebp - 0xc91]
push ecx
lea ecx, [ebp - 0x4dc]
call fcn.1003b6f0
mov edx, dword [ebp - 0x4e4]
add edx, 1
mov dword [ebp - 0x4e4], edx
jmp 0x10013f37
jmp 0x10013ef9
mov eax, dword [ebp - 0x4e0]
add eax, 1
push eax
push 1
push 0
push 0
push 0
lea ecx, [ebp - 0x4c0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov byte [ebp - 4], 0xd7
lea ecx, [ebp - 0x4c0]
call fcn.100e6250
mov dword [ebp - 0xc98], eax
mov edx, dword [ebp - 0x4e0]
add edx, 1
push edx
lea ecx, [ebp - 0x4dc]
call fcn.10088bb0
push eax
mov eax, dword [ebp - 0xc98]
mov edx, dword [eax]
mov ecx, dword [ebp - 0xc98]
mov eax, dword [edx + 0x1c]
call eax
push eax
call fcn.1014c8e0
add esp, 4
mov ecx, esp
mov dword [ebp - 0x728], esp
lea edx, [ebp - 0x4c0]
push edx
call fcn.100084d0
mov dword [ebp - 0xc9c], eax
mov eax, dword [ebp - 0xc9c]
mov dword [ebp - 0xca0], eax
mov byte [ebp - 4], 0xd8
mov byte [ebp - 4], 0xd7
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov byte [ebp - 4], 0xd6
lea ecx, [ebp - 0x4c0]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4dc]
call fcn.1003b690
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101030f0
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x4f0]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
push 0
mov eax, dword [ebp - 0x4f0]
push eax
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x4f4], eax
mov edx, dword [ebp - 0x4f4]
push edx
push 1
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103f80
jmp case.default.0x1000ea54
lea eax, [ebp - 0x504]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xd9
lea ecx, [ebp - 0x4fc]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xda
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x72c], esp
lea edx, [ebp - 0x504]
push edx
call fcn.100084d0
mov dword [ebp - 0xca4], eax
mov eax, dword [ebp - 0xca4]
mov dword [ebp - 0xca8], eax
mov byte [ebp - 4], 0xdb
lea ecx, [ebp - 0x4fc]
call fcn.100e6250
mov byte [ebp - 4], 0xda
mov ecx, eax
call fcn.100ff530
mov byte [ebp - 0xca9], al
movzx ecx, byte [ebp - 0xca9]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xd9
lea ecx, [ebp - 0x4fc]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x504]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101031a0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xcb0], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xcb0]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102aa0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xcb4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xcb4]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102aa0
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x508], eax
mov ecx, dword [ebp - 0x508]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
lea edx, [ebp - 0x510]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xdc
lea eax, [ebp - 0x518]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xdd
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x730], esp
lea edx, [ebp - 0x510]
push edx
call fcn.100084d0
mov dword [ebp - 0xcb8], eax
mov eax, dword [ebp - 0xcb8]
mov dword [ebp - 0xcbc], eax
mov byte [ebp - 4], 0xde
lea ecx, [ebp - 0x518]
call fcn.100e6250
mov byte [ebp - 4], 0xdd
mov ecx, eax
call fcn.100ffa40
mov byte [ebp - 4], 0xdc
lea ecx, [ebp - 0x518]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x510]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101041e0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104310
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101038e0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x520], eax
lea edx, [ebp - 0x51c]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x520]
push edx
mov eax, dword [ebp - 0x51c]
push eax
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101031a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
mov al, byte [edx]
mov byte [ebp - 0x529], al
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
push 0
movzx ecx, byte [ebp - 0x529]
sar ecx, 3
push ecx
movzx edx, byte [ebp - 0x529]
and edx, 4
setne al
movzx ecx, al
push ecx
movzx edx, byte [ebp - 0x529]
and edx, 3
push edx
push 0
lea eax, [ebp - 0x528]
push eax
mov ecx, dword [ebp + 8]
call fcn.101034d0
mov dword [ebp - 4], 0xdf
movzx ecx, byte [ebp - 0x529]
and ecx, 4
je 0x1001443e
lea edx, [ebp - 0x534]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd50
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
lea ecx, [ebp - 0x528]
call fcn.100e6250
mov dword [ebp - 0xcc0], eax
mov edx, dword [ebp - 0x530]
push edx
mov eax, dword [ebp - 0x534]
push eax
mov ecx, dword [ebp - 0xcc0]
mov edx, dword [ecx]
mov ecx, dword [ebp - 0xcc0]
mov eax, dword [edx + 0xc]
call eax
jmp 0x10014492
lea ecx, [ebp - 0x53c]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd10
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
lea ecx, [ebp - 0x528]
call fcn.100e6250
mov dword [ebp - 0xcc4], eax
mov eax, dword [ebp - 0x538]
push eax
mov ecx, dword [ebp - 0x53c]
push ecx
mov edx, dword [ebp - 0xcc4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0xcc4]
mov edx, dword [eax + 0x10]
call edx
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x734], esp
lea eax, [ebp - 0x528]
push eax
call fcn.100084d0
mov dword [ebp - 0xcc8], eax
mov ecx, dword [ebp - 0xcc8]
mov dword [ebp - 0xccc], ecx
mov byte [ebp - 4], 0xe0
mov byte [ebp - 4], 0xdf
mov ecx, dword [ebp + 8]
call fcn.10102bd0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x528]
call fcn.10126650
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x540], eax
mov eax, dword [ebp - 0x540]
push eax
mov ecx, dword [ebp + 8]
call fcn.10103250
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x550]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xe1
lea edx, [ebp - 0x548]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xe2
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x738], esp
lea eax, [ebp - 0x550]
push eax
call fcn.100084d0
mov dword [ebp - 0xcd0], eax
mov ecx, dword [ebp - 0xcd0]
mov dword [ebp - 0xcd4], ecx
mov byte [ebp - 4], 0xe3
lea ecx, [ebp - 0x548]
call fcn.100e6250
mov byte [ebp - 4], 0xe2
mov ecx, eax
call fcn.100ff820
mov byte [ebp - 0xcd5], al
movzx edx, byte [ebp - 0xcd5]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xe1
lea ecx, [ebp - 0x548]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x550]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103a20
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10104b30
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103d20
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x558], eax
lea ecx, [ebp - 0x554]
push ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
push eax
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x558]
push eax
mov ecx, dword [ebp - 0x554]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
push 0
push 1
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
lea edx, [ebp - 0x568]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xe4
lea eax, [ebp - 0x560]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102e60
mov byte [ebp - 4], 0xe5
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x73c], esp
lea edx, [ebp - 0x560]
push edx
call fcn.100084d0
mov dword [ebp - 0xcdc], eax
mov eax, dword [ebp - 0xcdc]
mov dword [ebp - 0xce0], eax
mov byte [ebp - 4], 0xe6
lea ecx, [ebp - 0x568]
call fcn.100e6250
mov byte [ebp - 4], 0xe5
mov ecx, eax
call fcn.100ffa40
mov byte [ebp - 4], 0xe4
lea ecx, [ebp - 0x560]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x568]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101038e0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xce4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xce4]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102470
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x569], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
lea eax, [ebp - 0x570]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
movzx eax, byte [ebp - 0x569]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x569]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x569]
and eax, 3
push eax
mov ecx, dword [ebp - 0x570]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101049e0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x574]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
push 0
mov edx, dword [ebp - 0x574]
push edx
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x575], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
lea eax, [ebp - 0x57c]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
movzx eax, byte [ebp - 0x575]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x575]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x575]
and eax, 3
push eax
mov ecx, dword [ebp - 0x57c]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101049e0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103a20
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x580], eax
mov eax, dword [ebp - 0x580]
push eax
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x590]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xe7
lea edx, [ebp - 0x588]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xe8
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x740], esp
lea eax, [ebp - 0x590]
push eax
call fcn.100084d0
mov dword [ebp - 0xce8], eax
mov ecx, dword [ebp - 0xce8]
mov dword [ebp - 0xcec], ecx
mov byte [ebp - 4], 0xe9
lea ecx, [ebp - 0x588]
call fcn.100e6250
mov byte [ebp - 4], 0xe8
mov ecx, eax
call fcn.100ff820
mov byte [ebp - 0xced], al
movzx edx, byte [ebp - 0xced]
test edx, edx
sete al
movzx ecx, al
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xe7
lea ecx, [ebp - 0x588]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x590]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101038e0
jmp case.default.0x1000ea54
lea edx, [ebp - 0x5a0]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xea
lea eax, [ebp - 0x598]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xeb
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x744], esp
lea edx, [ebp - 0x5a0]
push edx
call fcn.100084d0
mov dword [ebp - 0xcf4], eax
mov eax, dword [ebp - 0xcf4]
mov dword [ebp - 0xcf8], eax
mov byte [ebp - 4], 0xec
lea ecx, [ebp - 0x598]
call fcn.100e6250
mov byte [ebp - 4], 0xeb
mov ecx, eax
call fcn.100ff530
mov byte [ebp - 0xcf9], al
movzx ecx, byte [ebp - 0xcf9]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xea
lea ecx, [ebp - 0x598]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5a0]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x5a4], eax
mov edx, dword [ebp - 0x5a4]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102cb0
jmp case.default.0x1000ea54
lea eax, [ebp - 0x5a8]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
mov eax, dword [ebp - 0x5a8]
push eax
mov ecx, dword [ebp + 8]
call fcn.10104c70
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xd00], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xd00]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102510
jmp case.default.0x1000ea54
lea eax, [ebp - 0x5b8]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xed
lea ecx, [ebp - 0x5b0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xee
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x748], esp
lea edx, [ebp - 0x5b0]
push edx
call fcn.100084d0
mov dword [ebp - 0xd04], eax
mov eax, dword [ebp - 0xd04]
mov dword [ebp - 0xd08], eax
mov byte [ebp - 4], 0xef
lea ecx, [ebp - 0x5b8]
call fcn.100e6250
mov byte [ebp - 4], 0xee
mov ecx, eax
call fcn.100ffa40
mov byte [ebp - 4], 0xed
lea ecx, [ebp - 0x5b0]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5b8]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.101040b0
jmp case.default.0x1000ea54
push 0
push 1
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
push 0
push 1
mov ecx, dword [ebp + 8]
call fcn.101046a0
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103f80
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103980
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
movzx eax, byte [edx]
mov dword [ebp - 0xd0c], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
add edx, 1
mov eax, dword [ebp + 8]
mov dword [eax + 8], edx
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov edx, dword [ebp - 0xd0c]
push edx
mov ecx, dword [ebp + 8]
call fcn.101026f0
jmp case.default.0x1000ea54
push 0
push 1
mov ecx, dword [ebp + 8]
call fcn.10104790
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
call fcn.10103a20
jmp case.default.0x1000ea54
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
mov dl, byte [ecx]
mov byte [ebp - 0x5b9], dl
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
add ecx, 1
mov edx, dword [ebp + 8]
mov dword [edx + 8], ecx
lea eax, [ebp - 0x5c0]
push eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 8]
push edx
call fcn.100fdd30
add esp, 8
mov ecx, dword [ebp + 8]
add eax, dword [ecx + 8]
mov edx, dword [ebp + 8]
mov dword [edx + 8], eax
movzx eax, byte [ebp - 0x5b9]
and eax, 8
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x5b9]
and eax, 4
setne cl
movzx edx, cl
push edx
movzx eax, byte [ebp - 0x5b9]
and eax, 3
push eax
mov ecx, dword [ebp - 0x5c0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.101049e0
jmp case.default.0x1000ea54
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
movzx ecx, byte [eax]
mov dword [ebp - 0xd10], ecx
mov edx, dword [ebp + 8]
mov eax, dword [edx + 8]
add eax, 1
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa68]
call fcn.10001920
push eax
mov eax, dword [ebp - 0xd10]
push eax
mov ecx, dword [ebp + 8]
call fcn.101025b0
jmp case.default.0x1000ea54
lea ecx, [ebp - 0x5d0]
push ecx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xf0
lea edx, [ebp - 0x5c8]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102e60
mov byte [ebp - 4], 0xf1
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x74c], esp
lea eax, [ebp - 0x5c8]
push eax
call fcn.100084d0
mov dword [ebp - 0xd14], eax
mov ecx, dword [ebp - 0xd14]
mov dword [ebp - 0xd18], ecx
mov byte [ebp - 4], 0xf2
lea ecx, [ebp - 0x5d0]
call fcn.100e6250
mov byte [ebp - 4], 0xf1
mov ecx, eax
call fcn.100ffa40
mov byte [ebp - 4], 0xf0
lea ecx, [ebp - 0x5c8]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5d0]
call fcn.10126650
jmp case.default.0x1000ea54
lea edx, [ebp - 0x5e0]
push edx
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov dword [ebp - 4], 0xf3
lea eax, [ebp - 0x5d8]
push eax
mov ecx, dword [ebp + 8]
call fcn.10102fa0
mov byte [ebp - 4], 0xf4
sub esp, 8
mov ecx, esp
mov dword [ebp - 0x750], esp
lea edx, [ebp - 0x5e0]
push edx
call fcn.100084d0
mov dword [ebp - 0xd1c], eax
mov eax, dword [ebp - 0xd1c]
mov dword [ebp - 0xd20], eax
mov byte [ebp - 4], 0xf5
lea ecx, [ebp - 0x5d8]
call fcn.100e6250
mov byte [ebp - 4], 0xf4
mov ecx, eax
call fcn.100ff600
mov byte [ebp - 0xd21], al
movzx ecx, byte [ebp - 0xd21]
test ecx, ecx
sete dl
movzx eax, dl
push eax
mov ecx, dword [ebp + 8]
call fcn.10102df0
mov byte [ebp - 4], 0xf3
lea ecx, [ebp - 0x5d8]
call fcn.10126650
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x5e0]
call fcn.10126650
jmp case.default.0x1000ea54
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0xa68]
call fcn.100019c0
mov dword [ebp - 0x5e8], eax
lea edx, [ebp - 0x5e4]
push edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 8]
push ecx
call fcn.100fdd30
add esp, 8
mov edx, dword [ebp + 8]
add eax, dword [edx + 8]
mov ecx, dword [ebp + 8]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x5e8]
push edx
mov eax, dword [ebp - 0x5e4]
push eax
mov ecx, dword [ebp + 8]
call fcn.101046a0
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0xb4]
xor ecx, ebp
call fcn.1014c68a
mov esp, ebp
pop ebp
ret 4