Function at 0x101d7600
Capabilities:
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x102021ec
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x930
push ebx
push esi
push edi
mov esi, ecx
mov dword [esp + 0x1c], esi
mov eax, dword [0x10216234]
mov edx, dword [0x1021622c]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10c], eax
mov dword [esp + 0x164], eax
mov dword [esp + 0x188], eax
mov dword [esp + 0x264], eax
xor ebx, ebx
mov dword [esp + 0xe0], eax
mov dword [esp + 0x1b8], eax
mov eax, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0xf8], eax
mov dword [esp + 0x100], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0x18], eax
lea eax, [esp + 0x30]
mov ecx, dword [0x10216230]
push eax
push ebx
mov dword [esp + 0x1c4], ebx
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1a4], ebx
mov dword [esp + 0x1d0], ebx
mov dword [esp + 0x1cc], ebx
mov dword [esp + 0x184], ebx
mov dword [esp + 0x17c], ebx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 0xe4], ecx
mov dword [esp + 0x1bc], ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x168], ecx
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x268], ecx
mov edi, 0xffff0000
push ebx
mov ecx, esi
mov dword [esp + 0x1c], 1
mov dword [esp + 0x30], edx
mov dword [esp + 0x110], edx
mov dword [esp + 0x168], edx
mov dword [esp + 0x18c], edx
mov dword [esp + 0x268], edx
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], edi
mov dword [esp + 0x1bc], edx
mov dword [esp + 0x1c0], edi
call fcn.101e5550
lea ecx, [esp + 0x120]
push ecx
push 1
push ebx
mov ecx, esi
call fcn.101e5550
lea edx, [esp + 0x14c]
push edx
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x54]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
push 2
push ebx
mov ecx, esi
call fcn.101e5550
lea eax, [esp + 0x1a0]
push eax
push 3
push ebx
mov ecx, esi
call fcn.101e5550
lea ecx, [esp + 0x6a0]
push ecx
push 4
push ebx
mov ecx, esi
call fcn.101e5550
mov ecx, ebx
call fcn.10056ed0
cmp eax, 1
jb 0x101d77d8
lea edx, [esp + 0x1bc]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x2c]
push ecx
push 0
push ebx
lea edx, [esp + 0x110]
push edx
mov ecx, esi
call fcn.101d62b0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, ebx
call fcn.10056ed0
cmp eax, 2
jb 0x101d781b
test byte [esp + 0x10], 1
je 0x101d781b
lea ecx, [esp + 0x1c0]
push ecx
lea edx, [esp + 0xfc]
push edx
lea eax, [esp + 0x10c]
push eax
push 1
push ebx
lea ecx, [esp + 0x110]
push ecx
mov ecx, esi
call fcn.101d62b0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov ecx, ebx
call fcn.10056ed0
cmp eax, 3
jb 0x101d785e
test byte [esp + 0x10], 1
je 0x101d785e
lea eax, [esp + 0x19c]
push eax
lea ecx, [esp + 0x104]
push ecx
lea edx, [esp + 0x164]
push edx
push 2
push ebx
lea eax, [esp + 0x110]
push eax
mov ecx, esi
call fcn.101d62b0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov ecx, ebx
call fcn.10056ed0
cmp eax, 4
jb 0x101d78a1
test byte [esp + 0x10], 1
je 0x101d78a1
lea edx, [esp + 0x1c8]
push edx
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x188]
push ecx
push 3
push ebx
lea edx, [esp + 0x110]
push edx
mov ecx, esi
call fcn.101d62b0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, ebx
call fcn.10056ed0
cmp eax, 5
jb 0x101d78e1
test byte [esp + 0x10], 1
je 0x101d78e1
lea ecx, [esp + 0x1c4]
push ecx
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x264]
push eax
push 4
push ebx
lea ecx, [esp + 0x110]
push ecx
mov ecx, esi
call fcn.101d62b0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov ecx, ebx
call fcn.10056e10
cmp eax, 1
jbe 0x101d791c
test byte [esp + 0x10], 1
je 0x101d791c
lea eax, [esp + 0x174]
push eax
lea ecx, [esp + 0x1b4]
push ecx
push 1
push ebx
lea edx, [esp + 0x10c]
push edx
mov ecx, esi
call fcn.101d5f60
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, ebx
call fcn.10056e10
cmp eax, 1
jb 0x101d7950
lea ecx, [esp + 0x17c]
push ecx
lea edx, [esp + 0xdc]
push edx
push 0
push ebx
lea eax, [esp + 0x10c]
push eax
mov ecx, esi
call fcn.101d5f60
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov edx, dword [0x102162b0]
mov ecx, dword [0x102162b8]
mov eax, dword [0x102162b4]
mov dword [esp + 0xe8], edx
mov edx, dword [0x102162bc]
mov dword [esp + 0xf0], ecx
mov ecx, dword [0x10216230]
mov dword [esp + 0xec], eax
mov eax, dword [0x10216234]
mov dword [esp + 0xf4], edx
mov edx, dword [0x1021622c]
mov dword [esp + 0x48], ecx
mov dword [esp + 0x114], ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x44], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x110], edx
mov dword [esp + 0x118], eax
mov byte [esp + 0x17], 0
call fcn.100fc540
test byte [esp + 0x10], 1
mov dword [esp + 0x11c], eax
je case.0x101d79fa.5
mov edi, dword [ebx]
mov edx, edi
and edx, 0xff
lea eax, [edx - 1]
cmp eax, 0x82
mov dword [esp + 0x130], edx
ja case.0x101d79fa.25
movzx eax, byte [eax + 0x101e229c]
jmp dword [eax*4 + 0x101e21a4]
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101d7a7b
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
lea edx, [esp + 0xe8]
shr ecx, 0x1b
and al, 1
push edx
mov ecx, esi
mov byte [esp + 0xc8], al
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101d7a76
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x44c]
push edx
mov ecx, esi
call fcn.101cee10
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x101d7a7b
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
cmp byte [esp + 0x17], 0
mov byte [esp + 0x8c], cl
jne 0x101d7b5d
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x604]
push eax
call fcn.101ca740
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push 1
lea ecx, [esp + 0x614]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
shr edi, 8
and edi, 7
push edi
mov ecx, esi
call fcn.101cefc0
cmp edx, 3
mov dword [esp + 0x18], eax
jne 0x101d7ba4
mov eax, 1
jmp 0x101d7bab
cmp edx, 4
jne 0x101d7bba
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
mov ecx, dword [0x1023539c]
mov eax, dword [0x10235398]
mov edx, dword [0x102353a0]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x88], eax
mov eax, ecx
mov edx, edi
shrd edx, eax, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
shr eax, 0x1c
mov eax, dword [esp + 0x104]
mov edx, edi
mov edi, dword [ebx + 0x40]
shrd edx, ecx, 0x1b
shr ecx, 0x1b
mov ecx, dword [esp + 0x108]
and dl, 1
mov byte [esp + 0x8c], dl
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xac], edx
mov dword [esp + 0xa0], ecx
mov ecx, dword [ebx + 0x44]
mov dword [esp + 0xb0], eax
mov eax, ecx
mov edx, edi
shrd edx, eax, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, ecx, 0x1b
shr ecx, 0x1b
and dl, 1
lea ecx, [esp + 0x50]
mov byte [esp + 0xb4], dl
push ecx
mov ecx, dword [esi + 0x5c]
shr eax, 0x1c
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x614]
push edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], 0
call fcn.101ce3b0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101d7d83
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je 0x101d7d62
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x61c]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
jmp 0x101d7d77
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
test byte [esp + 0x10], 1
je 0x101d7f04
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x160]
mov edi, dword [ebx + 0x48]
mov edx, eax
shr edx, 0x13
shr eax, 0x17
and edx, 0xf
and al, 1
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x164]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x154]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x84], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x4c]
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
shr ecx, 0x1c
mov ecx, dword [esp + 0x184]
mov edx, edi
mov edi, dword [ebx + 0x50]
shrd edx, eax, 0x1b
shr eax, 0x1b
mov eax, dword [esp + 0x180]
and dl, 1
mov byte [esp + 0x8c], dl
mov edx, dword [esp + 0x188]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
mov eax, dword [ebx + 0x54]
mov dword [esp + 0xa0], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x624]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov byte [esp + 0xbc], dl
mov dword [esp + 0xd4], 0
mov dword [esp + 0xc8], 1
call fcn.101ce910
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 4]
shrd edx, eax, 0x1b
shr ecx, 0x13
and ecx, 0xf
shr eax, 0x1b
and dl, 1
push 1
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xec]
push edx
lea edx, [esp + 0x20]
push ecx
push edx
lea edx, [esp + 0x638]
jmp 0x101e0138
mov eax, dword [0x10216230]
mov edx, dword [0x1021622c]
mov ecx, dword [0x10216234]
mov dword [esp + 0x114], eax
mov eax, dword [esp + 0xdc]
cmp eax, dword [esp + 0x28]
mov dword [esp + 0x110], edx
mov dword [esp + 0x118], ecx
mov byte [esp + 0x43], 0
je 0x101d7fa8
cmp eax, dword [esp + 0x108]
je 0x101d7fa8
cmp eax, dword [esp + 0x160]
je 0x101d7fa8
cmp eax, dword [esp + 0x184]
jne 0x101d7fca
lea edx, [esp + 0x110]
push edx
lea eax, [esp + 0x634]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov byte [esp + 0x43], 1
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
je 0x101d8048
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, esi
call fcn.101ceeb0
lea ecx, [esp + 0xe8]
push ecx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101d8448
test byte [esp + 0x10], 1
je 0x101d8027
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x640]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
cmp byte [esp + 0x43], 0
lea eax, [esp + 0xd8]
je 0x101d805d
lea eax, [esp + 0x110]
test byte [esp + 0x10], 1
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
je 0x101d83c1
mov ecx, dword [ebx + 4]
mov eax, ecx
shr eax, 0x13
and eax, 0xf
test al, 1
je 0x101d8133
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov edi, dword [ebx + 0x38]
shr ecx, 0x17
and cl, 1
mov byte [esp + 0x64], cl
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x64c]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x68], 1
mov byte [esp + 0x94], dl
call fcn.101ca740
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101d83c1
mov ecx, dword [ebx + 4]
mov eax, ecx
shr eax, 0x13
and eax, 0xf
test al, 2
je 0x101d820d
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0x10c]
mov edi, dword [ebx + 0x40]
shr ecx, 0x17
and cl, 1
mov byte [esp + 0x64], cl
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x654]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x68], 2
mov byte [esp + 0x94], dl
call fcn.101ca740
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101d83c1
mov ecx, dword [ebx + 4]
mov eax, ecx
shr eax, 0x13
and eax, 0xf
test al, 4
je 0x101d82e7
mov eax, dword [esp + 0x15c]
mov edx, dword [esp + 0x164]
mov edi, dword [ebx + 0x48]
shr ecx, 0x17
and cl, 1
mov byte [esp + 0x64], cl
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x154]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x65c]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x68], 4
mov byte [esp + 0x94], dl
call fcn.101ca740
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101d83c1
mov ecx, dword [ebx + 4]
mov eax, ecx
shr eax, 0x13
and eax, 0xf
test al, 8
je 0x101d83c1
mov eax, dword [esp + 0x180]
mov edx, dword [esp + 0x188]
mov edi, dword [ebx + 0x50]
shr ecx, 0x17
and cl, 1
mov byte [esp + 0x64], cl
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x1a4]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x1a8]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x54]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x664]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x68], 8
mov byte [esp + 0x94], dl
call fcn.101ca740
mov edx, dword [eax]
mov dword [esp + 0x10], edx
cmp byte [esp + 0x43], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
cmp byte [esp + 0x17], 0
je 0x101d848a
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
shrd ecx, edx, 0x1b
and cl, 1
shr eax, 0x13
push 1
and eax, 0xf
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
shr edx, 0x1b
push ecx
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x680]
push ecx
mov ecx, esi
call fcn.101d28b0
mov edx, dword [eax]
mov eax, dword [esp + 0x114]
push eax
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.101e55a0
jmp case.0x101d79fa.5
test byte [esp + 0x10], 1
mov byte [esp + 0x17], 1
je 0x101d8048
cmp byte [esp + 0x43], 0
jne 0x101d8056
lea edx, [esp + 0x110]
push edx
lea eax, [esp + 0x644]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov byte [esp + 0x43], 1
jmp 0x101d8056
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xe0]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0xdc]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x110]
shr eax, 0x13
and eax, 0xf
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x114]
mov dword [esp + 0x68], ecx
mov ecx, dword [0x102162b0]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x6c], edx
mov edx, dword [0x102162b4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x102162bc]
mov dword [esp + 0x70], eax
mov eax, dword [0x102162b8]
mov dword [esp + 0x80], edx
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0x84], eax
push edx
lea eax, [esp + 0x674]
push eax
mov byte [esp + 0x6c], 0
mov dword [esp + 0x80], 4
mov byte [esp + 0x94], 0
mov byte [esp + 0x95], 0
call fcn.101ca740
mov edx, dword [eax]
mov eax, dword [esp + 0x114]
mov esi, dword [esp + 0x1c]
push eax
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.101e55a0
jmp case.0x101d79fa.5
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101d85ea
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
lea edx, [esp + 0xe8]
shr ecx, 0x1b
and al, 1
push edx
mov ecx, esi
mov byte [esp + 0xc8], al
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101d85e5
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x680]
push edx
mov ecx, esi
call fcn.101cee10
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x101d85ea
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov ecx, dword [esp + 0xd8]
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xdc]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x13
and ecx, 0xf
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
cmp dword [esp + 0x130], 7
mov byte [esp + 0xb4], cl
jne 0x101d8751
mov edx, dword [ebx + 4]
shr edx, 0x17
and dl, 1
mov byte [esp + 0x64], dl
jmp 0x101d8765
mov eax, 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
cmp byte [esp + 0x17], 0
jne 0x101d878c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x684]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ce270
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x54]
push ecx
push 0x40
lea edx, [esp + 0x694]
push edx
mov ecx, esi
call fcn.101d2a70
mov eax, dword [eax]
jmp 0x101e1e19
mov ecx, dword [0x10235398]
mov edx, dword [0x1023539c]
mov eax, dword [0x102353a0]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x694]
mov byte [esp + 0xb8], cl
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x68], 0xf
mov dword [esp + 0xd4], 4
mov dword [esp + 0xd0], 0
call fcn.101ce3b0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101d8983
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je 0x101d8962
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x69c]
push ecx
mov ecx, esi
call fcn.101cf1f0
mov edx, dword [eax]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x4c]
jmp 0x101d8977
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
xor edi, edi
test byte [esp + 0x10], 1
je 0x101d8c6e
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x24]
mov ecx, eax
shr eax, 0x13
shr ecx, 0x17
and eax, 0xf
and cl, 1
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x28]
mov byte [esp + 0x64], cl
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x90], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x94], eax
push edx
lea eax, [esp + 0x6b8]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0xc8], 1
call fcn.101ce910
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101d8c6e
mov edx, dword [0x10235398]
mov eax, dword [0x1023539c]
mov ecx, dword [0x102353a0]
mov dword [esp + 0x50], edx
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
mov dword [esp + 0x54], eax
mov dword [esp + 0xc0], edi
mov dword [esp + 0x58], ecx
mov dword [esp + 0x60], 0xf
mov byte [esp + 0x64], 0
lea eax, [esp + 0x44]
jne 0x101d8a70
lea eax, [esp + 0xd8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x48]
mov dword [esp + 0x68], ecx
mov ecx, dword [0x102162b0]
mov dword [esp + 0x70], eax
mov eax, dword [0x102162b8]
mov dword [esp + 0x6c], edx
mov edx, dword [0x102162b4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x102162bc]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x14c]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x158]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x6c0]
mov byte [esp + 0xb8], cl
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x80], 4
mov byte [esp + 0x95], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xd4], 6
mov dword [esp + 0xd0], 0
call fcn.101ce3b0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
xor edi, edi
test byte [esp + 0x10], 1
je 0x101d8c6e
mov ecx, dword [ebx]
shr ecx, 0xe
and cl, 1
lea eax, [esp + 0x44]
jne 0x101d8bc0
lea eax, [esp + 0xd8]
mov edx, dword [eax]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], edx
mov edx, eax
shr eax, 0x13
shr edx, 0x17
and eax, 0xf
and dl, 1
test cl, cl
mov dword [esp + 0x60], eax
mov byte [esp + 0x64], dl
lea eax, [esp + 0x44]
jne 0x101d8bfc
lea eax, [esp + 0xd8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x160]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x94], edx
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x168]
lea edx, [esp + 0x5b0]
push edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0xc8], 1
call fcn.101ce910
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x284]
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
push eax
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101d8d7e
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101d8d5f
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x4a4]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101d8d7e
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x280]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101d8e6f
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101d8d9b
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x680]
push eax
call fcn.101ce950
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x294]
jmp 0x101d8cba
mov eax, dword [0x1021622c]
mov ecx, dword [0x10216230]
mov edx, dword [0x10216234]
mov dword [esp + 0x134], eax
mov dword [esp + 0x168], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x140], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x114], ecx
mov dword [esp + 0x144], ecx
lea eax, [esp + 0x134]
push eax
lea ecx, [esp + 0x4a8]
push ecx
xor edi, edi
mov ecx, esi
mov dword [esp + 0x144], edx
mov dword [esp + 0x178], edx
mov dword [esp + 0x120], edx
mov dword [esp + 0x150], edx
mov dword [esp + 0xec], edi
call fcn.101cf1f0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101d8f69
lea edx, [esp + 0x168]
push edx
lea eax, [esp + 0x290]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101d97a6
lea edx, [esp + 0x110]
push edx
lea eax, [esp + 0x5b8]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101d97a6
lea edx, [esp + 0x140]
push edx
lea eax, [esp + 0x298]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101d97a6
push 0x102162b0
lea edx, [esp + 0x34]
push edx
mov ecx, esi
call fcn.101cedd0
cmp al, 1
je 0x101d90b3
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x24]
shr eax, 0x17
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x28]
and al, 1
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], edx
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, dword [ebx + 0x38]
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x4b0]
mov byte [esp + 0x90], cl
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x68], 0xf
call fcn.101ca740
mov ecx, dword [eax]
lea edx, [esp + 0x134]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xe4], edx
jmp 0x101d90be
lea eax, [esp + 0x24]
mov dword [esp + 0xe4], eax
test byte [esp + 0x10], 1
je 0x101d97a6
push 0x102162b0
lea ecx, [esp + 0x124]
push ecx
mov ecx, esi
call fcn.101cedd0
cmp al, 1
je 0x101d91ce
mov edx, dword [esp + 0x168]
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
mov edi, dword [ebx + 0x40]
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 4]
shr edx, 0x17
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x108]
and dl, 1
mov byte [esp + 0x64], dl
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x2a0]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x68], 0xf
mov byte [esp + 0x94], dl
call fcn.101ca740
mov edx, dword [eax]
mov dword [esp + 0x10], edx
lea edi, [esp + 0x168]
jmp 0x101d91d5
lea edi, [esp + 0x104]
test byte [esp + 0x10], 1
je 0x101d97a6
mov eax, dword [esp + 0x110]
mov ecx, dword [esp + 0x114]
mov edx, dword [esp + 0x118]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0xe4]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x58], edx
mov edx, dword [ecx]
shr eax, 0x17
and al, 1
mov byte [esp + 0x64], al
mov eax, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x68], edx
mov edx, dword [0x102163c0]
mov dword [esp + 0x70], ecx
mov ecx, dword [0x102163c8]
mov dword [esp + 0x6c], eax
mov eax, dword [0x102163c4]
mov dword [esp + 0x7c], edx
mov edx, dword [0x102163cc]
mov dword [esp + 0x84], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, dword [ebx + 0x38]
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
mov byte [esp + 0x8c], cl
shr eax, 0x1b
mov edx, edi
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x94], ecx
mov ecx, dword [0x102163b4]
mov dword [esp + 0x90], eax
mov eax, dword [0x102163b0]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xa4], eax
mov eax, dword [0x102163bc]
mov dword [esp + 0x98], edx
mov edx, dword [0x102163b8]
mov dword [esp + 0xa0], ecx
mov ecx, dword [ebx + 0x40]
mov dword [esp + 0xb0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xac], edx
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x640]
mov byte [esp + 0xb8], cl
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x68], 0xf
call fcn.101ce880
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101d948a
mov ecx, dword [esp + 0x140]
mov eax, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x17
and cl, 1
mov byte [esp + 0x64], cl
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xe4]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 8]
mov eax, dword [0x102163b0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x102163b4]
mov dword [esp + 0x80], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x70], edx
mov edx, dword [0x102163b8]
mov dword [esp + 0x7c], eax
mov eax, dword [0x102163bc]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, dword [ebx + 0x38]
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
mov edx, dword [edi]
mov byte [esp + 0x8c], cl
mov ecx, dword [edi + 8]
shr eax, 0x1b
mov eax, dword [edi + 4]
mov edi, dword [ebx + 0x40]
mov dword [esp + 0x90], edx
mov edx, dword [0x102163c0]
mov dword [esp + 0x98], ecx
mov ecx, dword [0x102163c8]
mov dword [esp + 0x94], eax
mov eax, dword [0x102163c4]
mov dword [esp + 0xa4], edx
mov edx, dword [0x102163cc]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x2a8]
mov byte [esp + 0xb8], cl
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x68], 0xf
call fcn.101ce880
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101d9741
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
je 0x101d952d
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, esi
call fcn.101ceeb0
lea ecx, [esp + 0xe8]
push ecx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101d950e
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x4bc]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
jmp 0x101d952d
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x2b0]
push eax
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101d9741
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101d954a
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov edi, dword [0x102162bc]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], ecx
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x114]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x6c], eax
mov eax, dword [0x102162b0]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x140]
mov dword [esp + 0x70], ecx
mov ecx, dword [0x102162b4]
mov dword [esp + 0x68], edx
mov edx, dword [0x102162b8]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x90], edi
mov edi, dword [esp + 0x144]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x80], ecx
mov dword [esp + 0xa8], ecx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x5c0]
mov dword [esp + 0x88], edx
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x14c]
mov dword [esp + 0xb0], edx
mov edx, dword [0x102162bc]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x80], 4
mov byte [esp + 0x95], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0xa0], edi
mov dword [esp + 0xb8], edx
mov dword [esp + 0xa8], 4
mov byte [esp + 0xbd], 0
mov byte [esp + 0xbc], 1
call fcn.101ce270
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101d9741
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
je 0x101d96d8
cmp byte [esp + 0x17], 0
jne 0x101d96d8
lea ecx, [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x2bc]
push eax
call fcn.101cee10
mov ecx, dword [eax]
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc4], dl
mov dword [esp + 0xc8], 1
test byte [esp + 0x10], 1
je 0x101d9741
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 8
je 0x101d9741
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101d96fe
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x5c]
lea edx, [esp + 0x4c0]
push edx
mov dword [esp + 0x68], 8
mov dword [esp + 0x70], 0x3f800000
call fcn.101ce630
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
mov esi, dword [esp + 0x1c]
je 0x101d97a6
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x2d4]
push eax
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.101e55a0
mov eax, dword [esp + 0x138]
push eax
mov ecx, esi
call fcn.101e55a0
mov ecx, dword [esp + 0x16c]
push ecx
mov ecx, esi
call fcn.101e55a0
mov edx, dword [esp + 0x114]
push edx
mov ecx, esi
call fcn.101e55a0
mov eax, dword [esp + 0x144]
push eax
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov ecx, dword [0x1021622c]
mov edx, dword [0x10216230]
mov eax, dword [0x10216234]
mov dword [esp + 0x110], ecx
lea ecx, [esp + 0x110]
mov dword [esp + 0x114], edx
push ecx
lea edx, [esp + 0x6c8]
push edx
mov ecx, esi
mov dword [esp + 0x120], eax
call fcn.101cf1f0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101d98ca
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je 0x101d98ca
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101d98ab
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x2cc]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101d98ca
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x4c8]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101d9af6
mov ecx, dword [esp + 0x114]
mov eax, dword [esp + 0x110]
mov edx, dword [esp + 0x118]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x2d0]
push eax
call fcn.101cea40
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101d9af6
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101d99aa
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x24]
shr eax, 0x13
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x28]
and eax, 0xf
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
shr edx, 0x1c
mov edx, dword [esp + 0x110]
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x114]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x94], eax
mov eax, dword [0x102162b4]
mov dword [esp + 0x90], edx
mov edx, dword [0x102162b0]
mov dword [esp + 0x98], ecx
mov ecx, dword [0x102162b8]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [0x102162bc]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x5c8]
mov byte [esp + 0xb8], cl
mov ecx, dword [esi + 0x5c]
push eax
call fcn.101ce880
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je 0x101d9b5e
test byte [esp + 0x10], 1
je 0x101d9b5e
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x2ec]
push eax
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.101e55a0
mov eax, dword [esp + 0x114]
push eax
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101d9bec
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
lea edx, [esp + 0xe8]
shr ecx, 0x1b
and al, 1
push edx
mov ecx, esi
mov byte [esp + 0xc8], al
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101d9be7
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x4d4]
push edx
mov ecx, esi
call fcn.101cee10
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x101d9bec
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 0x50], ecx
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
cmp byte [esp + 0x17], 0
mov byte [esp + 0xb4], cl
jne 0x101d9d6c
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x2e0]
push eax
call fcn.101ce440
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push 0x57
lea ecx, [esp + 0x650]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101d9e0f
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
lea ecx, [esp + 0xe8]
and dl, 1
push ecx
mov ecx, esi
shr eax, 0x1b
mov byte [esp + 0xc8], dl
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101d9e0a
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x2ec]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101d9e0f
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x54], ecx
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
cmp byte [esp + 0x17], 0
mov byte [esp + 0xb4], cl
jne 0x101d9f8f
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x4d8]
push eax
call fcn.101ce460
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push 0x56
lea ecx, [esp + 0x2f8]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101da032
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
lea ecx, [esp + 0xe8]
and dl, 1
push ecx
mov ecx, esi
shr eax, 0x1b
mov byte [esp + 0xc8], dl
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101da02d
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x5d4]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101da032
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x54], ecx
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
cmp byte [esp + 0x17], 0
mov byte [esp + 0xb4], cl
jne 0x101da1b2
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x2f8]
push eax
call fcn.101ce480
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push 0x54
lea ecx, [esp + 0x4e8]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101da255
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
lea ecx, [esp + 0xe8]
and dl, 1
push ecx
mov ecx, esi
shr eax, 0x1b
mov byte [esp + 0xc8], dl
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101da250
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x304]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101da255
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x54], ecx
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
cmp byte [esp + 0x17], 0
mov byte [esp + 0xb4], cl
jne 0x101da3d5
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x688]
push eax
call fcn.101ce4a0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push 0x55
lea ecx, [esp + 0x310]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101da496
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101da477
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x4ec]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101da496
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x310]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [ebx]
shr eax, 0xd
test al, 1
je 0x101da4aa
mov dword [esp + 0xd4], 1
test byte [esp + 0x10], 1
je 0x101da59b
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101da4c7
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x5d8]
push eax
call fcn.101ce980
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x324]
jmp 0x101d8cba
mov ecx, dword [esp + 0x11c]
push 2
call fcn.10124c00
mov ecx, dword [0x10216238]
mov edx, dword [0x1021623c]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x18], eax
add eax, 1
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
mov dword [esp + 0x150], edx
mov edx, dword [0x10216240]
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x4f0]
mov byte [esp + 0x90], cl
mov ecx, dword [esi + 0x5c]
push eax
call fcn.101ca740
mov ecx, dword [0x1021622c]
mov eax, dword [eax]
test al, 1
mov edx, dword [0x10216230]
mov dword [esp + 0x110], ecx
mov ecx, dword [0x10216234]
mov dword [esp + 0x10], eax
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], ecx
je 0x101da715
lea edx, [esp + 0x110]
push edx
lea eax, [esp + 0x320]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101da774
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x50], edx
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0x54], eax
push edx
lea eax, [esp + 0x650]
push eax
mov dword [esp + 0x70], 0x402df854
call fcn.101ce630
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
je 0x101da923
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je 0x101da82b
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101da80c
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x32c]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101da82b
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x4f8]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101da923
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101da848
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov esi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x114]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, esi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, esi
mov esi, dword [esp + 0x1c]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov byte [esp + 0x8c], cl
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x330]
shr edx, 0x1c
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0xc4], edx
call fcn.101ceaa0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101da927
mov esi, dword [esp + 0x1c]
cmp byte [esp + 0x17], 0
je 0x101da990
test byte [esp + 0x10], 1
je 0x101da990
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
shrd ecx, edx, 0x1b
and cl, 1
shr eax, 0x13
push 1
and eax, 0xf
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
shr edx, 0x1b
push ecx
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x5f4]
push ecx
mov ecx, esi
call fcn.101d28b0
mov edx, dword [eax]
mov eax, dword [esp + 0x48]
push eax
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.101e55a0
mov ecx, dword [esp + 0x114]
push ecx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov edx, edi
shr edx, 0xe
test dl, 1
je 0x101daa1f
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, esi
call fcn.101ceeb0
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
shrd ecx, edx, 0x1b
and cl, 1
lea eax, [esp + 0xe8]
mov byte [esp + 0xc4], cl
push eax
mov ecx, esi
shr edx, 0x1b
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101daa1a
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x33c]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x101daa1f
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 4]
shr edx, 0x13
and edx, 0xf
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
and dl, 1
shr ecx, 0x1c
shr eax, 0x1b
cmp byte [esp + 0x17], 0
mov byte [esp + 0x8c], dl
jne 0x101daaf6
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x500]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ca720
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
lea eax, [esp + 0xe8]
push eax
lea ecx, [esp + 0x54]
push ecx
push 0x43
lea edx, [esp + 0x348]
push edx
mov ecx, esi
call fcn.101d2a70
mov eax, dword [eax]
jmp 0x101e1e19
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101dabb4
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea eax, [esp + 0xe8]
push eax
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101dab95
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x6b8]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc4], dl
mov dword [esp + 0xc8], 1
jmp 0x101dabb4
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x348]
push edx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101dadf0
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101dabd1
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x13
and ecx, 0xf
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x84], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x88], edx
mov edx, dword [ebx + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
shrd ecx, edx, 0x1c
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
and cl, 1
mov dword [esp + 0x78], eax
mov byte [esp + 0x8d], cl
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x508]
push ecx
mov ecx, dword [esi + 0x5c]
shr edx, 0x1c
mov byte [esp + 0x94], 1
mov dword [esp + 0x98], 0x3f800000
call fcn.101ce2b0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101dadf0
mov eax, dword [0x10229ee0]
mov edx, dword [0x10229ee8]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x10229ee4]
mov esi, dword [ebx + 0x38]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov ecx, eax
mov edx, esi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
shr ecx, 0x1c
mov ecx, dword [esp + 0x108]
mov edx, esi
mov esi, dword [ebx + 0x40]
shrd edx, eax, 0x1b
and dl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x104]
mov byte [esp + 0x8c], dl
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xa0], ecx
mov ecx, eax
mov edx, esi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, esi
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
shr ecx, 0x1c
lea eax, [esp + 0x50]
mov byte [esp + 0xb4], dl
mov edx, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x350]
push ecx
mov ecx, dword [edx + 0x5c]
call fcn.101ce880
mov eax, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je 0x101dae47
cmp byte [esp + 0x17], 0
jne 0x101dae47
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x5ec]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
test byte [esp + 0x10], 1
je 0x101daf97
mov cl, byte [esp + 0x17]
test cl, cl
lea eax, [esp + 0xd8]
je 0x101dae65
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], edx
mov edx, eax
shr eax, 0x17
shr edx, 0x13
and al, 1
and edx, 0xf
test cl, cl
mov byte [esp + 0x64], al
mov dword [esp + 0x60], edx
lea eax, [esp + 0xd8]
je 0x101daea0
lea eax, [esp + 0x44]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov ecx, dword [0x102162b0]
mov dword [esp + 0x6c], edx
mov edx, dword [0x102162b4]
mov dword [esp + 0x70], eax
mov eax, dword [0x102162b8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x102162bc]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0x164]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x154]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0xac], edx
lea edx, [esp + 0x50]
mov dword [esp + 0xb0], eax
push edx
lea eax, [esp + 0x358]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esi + 0x5c]
push eax
mov byte [esp + 0x95], 0
mov byte [esp + 0x94], 0
mov byte [esp + 0xbd], 0
mov byte [esp + 0xbc], 0
call fcn.101ce5b0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x51c]
jmp 0x101d8cba
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101db07d
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101db05e
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x364]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101db07d
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x658]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [ebx]
shr eax, 0xd
test al, 1
je 0x101db091
mov dword [esp + 0xd4], 1
test byte [esp + 0x10], 1
je 0x101db182
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101db0ae
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x368]
push eax
call fcn.101cea70
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x524]
jmp 0x101d8cba
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101db268
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101db249
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x374]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101db268
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x5f0]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101db3fa
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101db285
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x13
and ecx, 0xf
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x378]
push eax
call fcn.101cea70
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101db3fa
mov edx, dword [ebx + 4]
shr edx, 0x17
and dl, 1
cmp byte [esp + 0x17], 0
mov byte [esp + 0x64], dl
lea eax, [esp + 0xd8]
je 0x101db375
lea eax, [esp + 0x44]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov ecx, dword [0x102162b0]
mov dword [esp + 0x6c], edx
mov edx, dword [0x102162b4]
mov dword [esp + 0x70], eax
mov eax, dword [0x102162b8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x102162bc]
mov dword [esp + 0x80], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x84], eax
push edx
lea eax, [esp + 0x520]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x80], 4
mov byte [esp + 0x95], 0
mov byte [esp + 0x94], 0
mov dword [esp + 0x98], 0x3f317218
call fcn.101ce8a0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x38c]
jmp 0x101d8cba
mov esi, dword [esi + 0x5c]
cmp byte [esi + 0x314], 0
je 0x101db529
cmp dword [esp + 0x15c], 1
jne 0x101db529
mov eax, dword [esp + 0x160]
cmp eax, dword [esi + 0x30c]
jne 0x101db529
cmp dword [esi + 0x308], 1
jne 0x101db529
cmp byte [esi + 0x315], 0
jne 0x101db529
cmp byte [esi + 0x316], 0
jne 0x101db529
mov edi, dword [ebx + 0x48]
mov eax, dword [ebx + 0x4c]
mov ecx, edi
mov edx, eax
shrd ecx, edx, 0x1c
shr edx, 0x1c
test cl, 1
jne 0x101db529
mov ecx, edi
shrd ecx, eax, 0x1b
shr eax, 0x1b
test cl, 1
jne 0x101db529
mov eax, dword [ebx + 4]
mov edx, dword [esi + 0x310]
shr eax, 0x13
xor edi, edi
and eax, 0xf
mov byte [esp + 0x43], 1
mov dword [esp + 0xfc], edx
mov dword [esp + 0x18], eax
push edi
lea ecx, [esp + 0x1c]
call fcn.10056300
cmp al, 1
jne 0x101db516
cmp dword [esp + edi*4 + 0x14c], edi
je 0x101db501
mov byte [esp + 0x43], 0
push edi
lea ecx, [esp + 0x100]
call fcn.10056300
test al, al
jne 0x101db516
mov byte [esp + 0x43], al
add edi, 1
cmp edi, 4
jb 0x101db4e5
cmp byte [esp + 0x43], 0
jne 0x101db5fa
mov ecx, dword [0x10229ee0]
mov edx, dword [0x10229ee4]
mov eax, dword [0x10229ee8]
mov edi, dword [ebx + 0x48]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x160]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x164]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x150]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x78], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x690]
mov byte [esp + 0x90], cl
push eax
mov ecx, esi
mov dword [esp + 0x98], 0x3f800000
call fcn.101ce8a0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov edx, dword [ebx]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
shr edx, 0xe
test dl, 1
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x1c]
je 0x101db6b1
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, edi
call fcn.101ceeb0
lea ecx, [esp + 0xe8]
push ecx
mov ecx, edi
call fcn.101e5510
test al, al
je 0x101db692
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x38c]
push ecx
mov ecx, edi
call fcn.101cee10
mov edx, dword [eax]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
jmp 0x101db6b1
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x528]
push eax
mov ecx, edi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101db82a
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101db6ce
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
mov esi, dword [ebx + 0x38]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, esi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov ecx, esi
mov esi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, esi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, esi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x390]
mov byte [esp + 0xb8], cl
mov ecx, dword [edi + 0x5c]
push eax
call fcn.101ce5b0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
mov esi, dword [esp + 0x1c]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x604]
jmp 0x101d8cba
cmp edx, 0x1f
jne 0x101db8e2
mov edi, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
mov eax, dword [ebx + 0x44]
mov byte [esp + 0x8c], cl
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, eax, 0x1b
shr ecx, 0x1c
shr eax, 0x1b
and dl, 1
mov byte [esp + 0xb4], dl
jmp 0x101db96a
cmp edx, 0x37
jne 0x101db959
mov edi, dword [ebx + 0x38]
mov eax, 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
mov eax, dword [ebx + 0x44]
mov byte [esp + 0x8c], cl
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, eax, 0x1b
shr ecx, 0x1c
shr eax, 0x1b
and dl, 1
mov byte [esp + 0xb4], dl
jmp 0x101db96a
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
mov ecx, dword [0x1023539c]
mov edx, dword [0x102353a0]
mov eax, dword [0x10235398]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0xb0], edx
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xfc]
lea edx, [esp + 0x398]
xor edi, edi
push edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xd4], 4
mov dword [esp + 0xd0], edi
call fcn.101ce3b0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101dbad5
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je 0x101dbab4
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x530]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
jmp 0x101dbac9
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
test byte [esp + 0x10], 1
je 0x101dbb7a
cmp dword [esp + 0x130], 0x1f
jne 0x101dbaf7
mov edx, dword [ebx + 4]
shr edx, 0x17
and dl, 1
mov byte [esp + 0x64], dl
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
shr eax, 0x13
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x104]
and eax, 0xf
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x94], edx
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x110]
lea edx, [esp + 0x3a0]
push edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0xc8], 1
call fcn.101ce910
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x66c]
jmp 0x101d8cba
cmp edx, 0x20
jne 0x101dbc31
mov edi, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
mov eax, dword [ebx + 0x44]
mov byte [esp + 0x8c], cl
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, eax, 0x1b
shr ecx, 0x1c
shr eax, 0x1b
and dl, 1
mov byte [esp + 0xb4], dl
jmp 0x101dbcb9
cmp edx, 0x38
jne 0x101dbca8
mov edi, dword [ebx + 0x38]
mov eax, 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
mov eax, dword [ebx + 0x44]
mov byte [esp + 0x8c], cl
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, eax, 0x1b
shr ecx, 0x1c
shr eax, 0x1b
and dl, 1
mov byte [esp + 0xb4], dl
jmp 0x101dbcb9
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
mov ecx, dword [0x1023539c]
mov edx, dword [0x102353a0]
mov eax, dword [0x10235398]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0xb0], edx
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xfc]
lea edx, [esp + 0x3a8]
xor edi, edi
push edx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xd4], 6
mov dword [esp + 0xd0], edi
call fcn.101ce3b0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101dbe24
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je 0x101dbe03
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x538]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
jmp 0x101dbe18
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
test byte [esp + 0x10], 1
je 0x101dbec9
cmp dword [esp + 0x130], 0x20
jne 0x101dbe46
mov edx, dword [ebx + 4]
shr edx, 0x17
and dl, 1
mov byte [esp + 0x64], dl
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
shr eax, 0x13
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x104]
and eax, 0xf
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x94], edx
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x110]
lea edx, [esp + 0x3b0]
push edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0xd4], edi
mov dword [esp + 0xd0], edi
mov dword [esp + 0xc8], 1
call fcn.101ce910
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x60c]
jmp 0x101d8cba
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101dbf94
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
lea ecx, [esp + 0xe8]
and dl, 1
push ecx
mov ecx, esi
shr eax, 0x1b
mov byte [esp + 0xc8], dl
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101dbf8f
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x3bc]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101dbf94
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x54], ecx
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
cmp byte [esp + 0x17], 0
mov byte [esp + 0xb4], cl
jne 0x101dc114
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x540]
push eax
call fcn.101ce880
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push 0x41
lea ecx, [esp + 0x3c8]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101dc1d5
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101dc1b6
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x6c8]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101dc1d5
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x3c8]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101dc5e8
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101dc1f2
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x7c], edi
mov edi, dword [esp + 0x34]
shr ecx, 0x13
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x2c]
and ecx, 0xf
mov dword [esp + 0x68], eax
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0x38]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x70], edx
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xa8], eax
mov eax, dword [ebx]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x3c]
and eax, 0xff
cmp eax, 0x22
mov dword [esp + 0x78], edi
mov byte [esp + 0x8d], 1
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa0], edi
mov byte [esp + 0xb5], 1
jne 0x101dc2d7
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x548]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ce440
jmp 0x101dc311
cmp eax, 0x23
jne 0x101dc2f3
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x3d0]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ce460
jmp 0x101dc311
cmp eax, 0x24
jne case.0x101d79fa.25
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x608]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ce480
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101dc5e8
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je 0x101dc38b
cmp byte [esp + 0x17], 0
jne 0x101dc38b
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x3dc]
push ecx
mov ecx, dword [esp + 0x28]
call fcn.101cee10
mov edx, dword [eax]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
test byte [esp + 0x10], 1
je 0x101dc5e8
mov cl, byte [esp + 0x17]
test cl, cl
lea eax, [esp + 0xd8]
je 0x101dc3a9
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x54], edx
mov edx, dword [ebx + 4]
shr edx, 0x13
and edx, 0xf
test cl, cl
mov dword [esp + 0x58], eax
mov dword [esp + 0x60], edx
lea eax, [esp + 0xd8]
je 0x101dc3d9
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
call fcn.10124cc0
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x550]
push eax
call fcn.101cead0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101dc5e8
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
je 0x101dc49b
cmp byte [esp + 0x17], 0
jne 0x101dc49b
lea ecx, [esp + 0xc0]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x3e4]
push eax
call fcn.101cee10
mov ecx, dword [eax]
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc4], dl
mov dword [esp + 0xc8], 1
test byte [esp + 0x10], 1
je 0x101dc5e8
mov cl, byte [esp + 0x17]
test cl, cl
lea eax, [esp + 0xd8]
je 0x101dc4b9
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], edx
mov edx, eax
shr eax, 0x17
shr edx, 0x13
and al, 1
and edx, 0xf
test cl, cl
mov byte [esp + 0x64], al
mov dword [esp + 0x60], edx
lea eax, [esp + 0xd8]
je 0x101dc4f4
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov esi, dword [ebx + 0x38]
mov dword [esp + 0x68], ecx
mov ecx, dword [0x102162b0]
mov dword [esp + 0x70], eax
mov eax, dword [0x102162b8]
mov dword [esp + 0x6c], edx
mov edx, dword [0x102162b4]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x102162bc]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, esi
shrd ecx, edx, 0x1b
and cl, 1
mov byte [esp + 0xb4], cl
mov ecx, esi
shrd ecx, eax, 0x1c
and cl, 1
shr edx, 0x1b
mov byte [esp + 0xb5], cl
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x5c]
lea edx, [esp + 0x50]
shr eax, 0x1c
push edx
lea eax, [esp + 0x668]
push eax
mov dword [esp + 0x80], 4
call fcn.101ce880
mov edx, dword [eax]
mov dword [esp + 0x10], edx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x1c]
shrd ecx, edx, 0x1b
shr eax, 0x13
and eax, 0xf
shr edx, 0x1b
and cl, 1
push 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
push ecx
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x3f4]
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0xec]
push eax
push ecx
mov ecx, esi
call fcn.101d28b0
mov edx, dword [eax]
mov eax, dword [esp + 0x48]
push eax
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.101e55a0
jmp case.0x101d79fa.5
mov ecx, dword [esp + 0x11c]
push 2
call fcn.10124c00
mov edx, dword [0x1021623c]
mov ecx, dword [0x10216238]
mov edi, dword [ebx + 0x40]
mov dword [esp + 0x18], eax
add eax, 1
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x150], edx
mov edx, dword [0x10216240]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x104]
shr eax, 0x13
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x108]
and eax, 0xf
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x124]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0xf8]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x78], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x558]
mov byte [esp + 0x90], cl
mov ecx, dword [esi + 0x5c]
push eax
call fcn.101ca740
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101dc7f4
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je 0x101dc7f4
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea eax, [esp + 0xe8]
push eax
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101dc7d5
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x3f4]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc4], dl
mov dword [esp + 0xc8], 1
jmp 0x101dc7f4
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x610]
push edx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101dc8dd
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101dc811
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov byte [esp + 0x8c], cl
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x3f8]
shr edx, 0x1c
mov edx, dword [esp + 0x1c]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0xc4], edx
call fcn.101ceaa0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
shrd ecx, edx, 0x1b
shr eax, 0x13
and eax, 0xf
shr edx, 0x1b
and cl, 1
push 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
push ecx
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x56c]
jmp 0x101dc636
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101dc9c5
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea eax, [esp + 0xe8]
push eax
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101dc9a6
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x404]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc4], dl
mov dword [esp + 0xc8], 1
jmp 0x101dc9c5
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x698]
push edx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je case.0x101d79fa.5
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101dc9e2
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x408]
push eax
call fcn.101cea40
cmp byte [esp + 0x17], 0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x574]
jmp 0x101d8cba
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101dcb45
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x410]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
jmp 0x101dcb5a
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
test byte [esp + 0x10], 1
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
je 0x101dcd30
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x28]
mov edi, dword [ebx + 0x38]
mov edx, eax
shr eax, 0x17
and al, 1
shr edx, 0x13
and edx, 0xf
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x618]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov byte [esp + 0x94], dl
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 7
call fcn.101ca7c0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101dcd30
mov eax, dword [ebx]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
shr eax, 0xe
and al, 1
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x44]
jne 0x101dcc60
lea ecx, [esp + 0xd8]
mov edx, dword [ecx]
mov esi, dword [ebx + 4]
mov dword [esp + 0x50], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov edx, esi
mov ecx, esi
shr edx, 0x13
shr ecx, 0x17
and edx, 0xf
and cl, 1
test al, al
mov dword [esp + 0x60], edx
mov byte [esp + 0x64], cl
lea eax, [esp + 0x44]
jne 0x101dcc9e
lea eax, [esp + 0xd8]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 8]
mov eax, dword [0x102162b0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x102162b4]
mov dword [esp + 0x70], edx
mov edx, dword [0x102162b8]
mov dword [esp + 0x7c], eax
mov eax, dword [0x102162bc]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x5c]
lea edx, [esp + 0x418]
push edx
mov dword [esp + 0x80], 4
mov dword [esp + 0x98], 0x3f800000
mov dword [esp + 0xc8], 1
mov dword [esp + 0xd0], 0
call fcn.101ce2b0
mov ecx, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
shrd ecx, edx, 0x1b
shr eax, 0x13
and eax, 0xf
shr edx, 0x1b
and cl, 1
push 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
push ecx
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x57c]
jmp 0x101dc636
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101dcdfc
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
lea edx, [esp + 0xe8]
shr ecx, 0x1b
and al, 1
push edx
mov ecx, esi
mov byte [esp + 0xc8], al
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101dcdf7
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x424]
push edx
mov ecx, esi
call fcn.101cee10
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x101dcdfc
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
cmp byte [esp + 0x17], 0
mov byte [esp + 0x8c], cl
jne 0x101dcede
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x670]
push eax
call fcn.101ca780
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push 0x45
lea ecx, [esp + 0x430]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101dcf48
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x578]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
jmp 0x101dcf5d
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
test byte [esp + 0x10], 1
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
je 0x101dd133
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x28]
mov edi, dword [ebx + 0x38]
mov edx, eax
shr eax, 0x17
and al, 1
shr edx, 0x13
and edx, 0xf
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x24]
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x430]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov byte [esp + 0x94], dl
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 7
call fcn.101ca7a0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101dd133
mov eax, dword [ebx]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
shr eax, 0xe
and al, 1
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x44]
jne 0x101dd063
lea ecx, [esp + 0xd8]
mov edx, dword [ecx]
mov esi, dword [ebx + 4]
mov dword [esp + 0x50], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov edx, esi
mov ecx, esi
shr edx, 0x13
shr ecx, 0x17
and edx, 0xf
and cl, 1
test al, al
mov dword [esp + 0x60], edx
mov byte [esp + 0x64], cl
lea eax, [esp + 0x44]
jne 0x101dd0a1
lea eax, [esp + 0xd8]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 8]
mov eax, dword [0x102162b0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x102162b4]
mov dword [esp + 0x70], edx
mov edx, dword [0x102162b8]
mov dword [esp + 0x7c], eax
mov eax, dword [0x102162bc]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x5c]
lea edx, [esp + 0x620]
push edx
mov dword [esp + 0x80], 4
mov dword [esp + 0x98], 0x3f800000
mov dword [esp + 0xc8], 1
mov dword [esp + 0xd0], 0
call fcn.101ce2b0
mov ecx, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
shrd ecx, edx, 0x1b
shr eax, 0x13
and eax, 0xf
shr edx, 0x1b
and cl, 1
push 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
push ecx
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x444]
jmp 0x101dc636
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101dd1c7
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x580]
push ecx
mov ecx, esi
call fcn.101cf1f0
mov edx, dword [eax]
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x4c]
jmp 0x101dd1dc
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
test byte [esp + 0x10], 1
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
je 0x101dd3b2
mov eax, dword [ebx + 4]
mov edx, dword [esp + 0x24]
mov edi, dword [ebx + 0x38]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x440]
mov byte [esp + 0x90], cl
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0xd0], 0
mov dword [esp + 0xd4], 7
call fcn.101ca7e0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101dd3b2
mov eax, dword [ebx]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
shr eax, 0xe
and al, 1
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x44]
jne 0x101dd2e2
lea ecx, [esp + 0xd8]
mov edx, dword [ecx]
mov esi, dword [ebx + 4]
mov dword [esp + 0x50], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], ecx
mov edx, esi
mov ecx, esi
shr edx, 0x13
shr ecx, 0x17
and edx, 0xf
and cl, 1
test al, al
mov dword [esp + 0x60], edx
mov byte [esp + 0x64], cl
lea eax, [esp + 0x44]
jne 0x101dd320
lea eax, [esp + 0xd8]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x68], edx
mov edx, dword [eax + 8]
mov eax, dword [0x102162b0]
mov dword [esp + 0x6c], ecx
mov ecx, dword [0x102162b4]
mov dword [esp + 0x70], edx
mov edx, dword [0x102162b8]
mov dword [esp + 0x7c], eax
mov eax, dword [0x102162bc]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x5c]
lea edx, [esp + 0x6bc]
push edx
mov dword [esp + 0x80], 4
mov dword [esp + 0x98], 0x3f800000
mov dword [esp + 0xc8], 1
mov dword [esp + 0xd0], 0
call fcn.101ce2b0
mov ecx, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], ecx
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
shrd ecx, edx, 0x1b
shr eax, 0x13
and eax, 0xf
shr edx, 0x1b
and cl, 1
push 1
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
push ecx
lea ecx, [esp + 0x20]
push eax
push ecx
lea ecx, [esp + 0x278]
jmp 0x101dc636
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101dd49d
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea eax, [esp + 0xe8]
push eax
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101dd47e
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x58c]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc4], dl
mov dword [esp + 0xc8], 1
jmp 0x101dd49d
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x450]
push edx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101dd58e
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101dd4ba
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x628]
push eax
call fcn.101cead0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
shr edx, 0x13
and edx, 0xf
shr ecx, 0x1b
and al, 1
push 1
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
push eax
lea eax, [esp + 0x20]
push edx
push eax
lea eax, [esp + 0x464]
jmp 0x101d8cba
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101dd61d
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x590]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
jmp 0x101dd632
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
test byte [esp + 0x10], 1
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
je 0x101dd999
mov edx, dword [ebx + 4]
lea eax, [esp + 0x50]
shr edx, 0x13
push eax
lea ecx, [esp + 0x460]
and edx, 0xf
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x70], 0
call fcn.101ce630
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101dd999
mov eax, dword [0x10235398]
mov edx, dword [0x102353a0]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x1023539c]
mov esi, dword [ebx + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, esi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, esi
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
shr ecx, 0x1c
lea eax, [esp + 0x50]
mov byte [esp + 0x8c], dl
mov edx, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x678]
push ecx
mov ecx, dword [edx + 0x5c]
mov dword [esp + 0x98], 0
mov dword [esp + 0xd4], 3
mov dword [esp + 0xd0], 0
call fcn.101ce3f0
mov eax, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101dd999
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
lea eax, [esp + 0x44]
jne 0x101dd79c
lea eax, [esp + 0xd8]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], ecx
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x5c]
lea edx, [esp + 0x50]
mov byte [esp + 0x64], al
push edx
lea eax, [esp + 0x468]
push eax
mov dword [esp + 0x70], 0x3f800000
mov dword [esp + 0xc8], 1
mov dword [esp + 0xd0], 0
call fcn.101ce630
mov edx, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101dd999
mov eax, dword [0x10235398]
mov edx, dword [0x102353a0]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x1023539c]
mov esi, dword [ebx + 0x38]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, esi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, esi
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
shr ecx, 0x1c
lea eax, [esp + 0x50]
mov byte [esp + 0x8c], dl
mov edx, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x598]
push ecx
mov ecx, dword [edx + 0x5c]
mov dword [esp + 0x98], 0
mov dword [esp + 0xd4], 5
mov dword [esp + 0xd0], 0
call fcn.101ce3f0
mov eax, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101dd999
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
lea eax, [esp + 0x44]
jne 0x101dd92c
lea eax, [esp + 0xd8]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
mov dword [esp + 0x54], ecx
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x5c]
lea edx, [esp + 0x50]
mov byte [esp + 0x64], al
push edx
lea eax, [esp + 0x470]
push eax
mov dword [esp + 0x70], 0xbf800000
mov dword [esp + 0xc8], 1
mov dword [esp + 0xd0], 0
call fcn.101ce630
mov edx, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], edx
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 4]
shrd edx, eax, 0x1b
shr ecx, 0x13
and ecx, 0xf
shr eax, 0x1b
and dl, 1
push 1
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xec]
push edx
lea edx, [esp + 0x20]
push ecx
push edx
lea edx, [esp + 0x63c]
jmp 0x101e0138
mov edx, edi
shr edx, 0xe
test dl, 1
je 0x101dda82
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, esi
call fcn.101ceeb0
lea ecx, [esp + 0xe8]
push ecx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101dda63
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x47c]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
jmp 0x101dda82
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x5a0]
push eax
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101ddb73
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101dda9f
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x480]
push eax
call fcn.101ceb00
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x6b4]
push eax
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov eax, dword [0x1021622c]
mov ecx, dword [0x10216230]
mov edx, dword [0x10216234]
mov dword [esp + 0x140], eax
mov eax, edi
shr eax, 0xe
test al, 1
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], edx
je 0x101ddca6
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101ddc87
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x48c]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101ddca6
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x5a8]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x10]
and edi, 1
je 0x101de010
push 2
lea eax, [esp + 0x144]
push eax
mov ecx, esi
call fcn.101d0520
test al, al
je 0x101de010
mov eax, dword [esp + 0x144]
mov edx, dword [esp + 0x148]
mov edi, dword [ebx + 0x38]
mov ecx, eax
add ecx, 1
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x140]
mov dword [esp + 0x54], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x24]
shr eax, 0x17
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x28]
and al, 1
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x30]
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x490]
push eax
mov dword [esp + 0x68], 3
call fcn.101ceb30
cmp byte [esp + 0x17], 0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
lea eax, [esp + 0xd8]
je 0x101dddc7
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 1
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov byte [esp + 0x8d], 0
mov byte [esp + 0x8c], 0
je 0x101dde77
test byte [esp + 0x10], 1
je 0x101dde77
mov eax, dword [esp + 0x140]
mov edx, dword [0x10216374]
mov ecx, dword [0x10216370]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x70], eax
mov eax, dword [0x10216378]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x1021637c]
mov dword [esp + 0x80], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x84], eax
push edx
lea eax, [esp + 0x638]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x68], 1
call fcn.101ca740
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 2
je 0x101ddf06
test byte [esp + 0x10], 1
je 0x101ddf06
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x148]
mov edx, dword [esp + 0x140]
mov dword [esp + 0x6c], eax
mov eax, dword [0x10216384]
mov dword [esp + 0x70], ecx
mov ecx, dword [0x10216388]
mov dword [esp + 0x68], edx
mov edx, dword [0x10216380]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x498]
mov dword [esp + 0x80], edx
mov edx, dword [0x1021638c]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x90], edx
mov dword [esp + 0x68], 2
call fcn.101ca740
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 4
je 0x101ddf45
test byte [esp + 0x10], 1
je 0x101ddf45
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x270]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x68], 4
mov dword [esp + 0x70], 0
call fcn.101ce630
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 8
je 0x101ddf84
test byte [esp + 0x10], 1
je 0x101ddf84
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x274]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x68], 8
mov dword [esp + 0x70], 0x3f800000
call fcn.101ce630
mov edx, dword [eax]
mov dword [esp + 0x10], edx
cmp byte [esp + 0x17], 0
je 0x101ddfed
test byte [esp + 0x10], 1
je 0x101ddfed
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
shrd ecx, edx, 0x1b
and cl, 1
shr eax, 0x13
push 1
and eax, 0xf
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
shr edx, 0x1b
push ecx
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x290]
push ecx
mov ecx, esi
call fcn.101d28b0
mov edx, dword [eax]
mov eax, dword [esp + 0x48]
push eax
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.101e55a0
mov ecx, dword [esp + 0x144]
push ecx
mov ecx, esi
call fcn.101e55a0
mov edx, dword [esp + 0x150]
push edx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
cmp edi, 1
jne 0x101de109
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101de02b
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x17
and cl, 1
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov byte [esp + 0xb8], cl
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov dword [esp + 0xbc], eax
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 1
je 0x101de109
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x284]
push eax
mov dword [esp + 0x68], 1
call fcn.101ce950
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 2
je 0x101de140
test byte [esp + 0x10], 1
je 0x101de140
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x28c]
push eax
mov dword [esp + 0x68], 2
call fcn.101ceb00
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 4
je 0x101de222
test byte [esp + 0x10], 1
je 0x101de222
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
je 0x101de1c6
cmp byte [esp + 0x17], 0
jne 0x101de1c6
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x298]
push edx
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
test byte [esp + 0x10], 1
je 0x101de222
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101de1df
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [eax + 0x5c]
lea edx, [esp + 0x29c]
push edx
mov dword [esp + 0x68], 4
mov dword [esp + 0x70], 0
call fcn.101ce630
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
test al, 8
je 0x101de265
test byte [esp + 0x10], 1
je 0x101de265
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x2a4]
push eax
mov dword [esp + 0x68], 8
mov dword [esp + 0x70], 0x3f800000
call fcn.101ce630
mov edx, dword [eax]
mov dword [esp + 0x10], edx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
mov esi, dword [esp + 0x1c]
shrd ecx, edx, 0x1b
and cl, 1
shr eax, 0x13
push 1
and eax, 0xf
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
shr edx, 0x1b
push ecx
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x2c0]
push ecx
mov ecx, esi
call fcn.101d28b0
mov edx, dword [eax]
mov eax, dword [esp + 0x48]
push eax
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.101e55a0
jmp case.0x101d79fa.5
mov ecx, edi
shr ecx, 0xe
test cl, 1
je 0x101de378
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea eax, [esp + 0xe8]
push eax
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101de359
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x2b8]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc4], dl
mov dword [esp + 0xc8], 1
jmp 0x101de378
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x2bc]
push edx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101de469
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101de395
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov ecx, eax
shr eax, 0x17
shr ecx, 0x13
and al, 1
and ecx, 0xf
mov byte [esp + 0xb8], al
mov eax, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x2c4]
push eax
call fcn.101ceb60
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x2e0]
push eax
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov eax, dword [0x1021622c]
mov ecx, dword [0x10216230]
mov edx, dword [0x10216234]
mov dword [esp + 0x134], eax
mov dword [esp + 0x110], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x114], ecx
lea eax, [esp + 0x134]
push eax
lea ecx, [esp + 0x2d4]
push ecx
mov ecx, esi
mov dword [esp + 0x144], edx
mov dword [esp + 0x120], edx
call fcn.101cf1f0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101de557
lea edx, [esp + 0x110]
push edx
lea eax, [esp + 0x2dc]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
mov edi, dword [esp + 0x13c]
je 0x101de970
mov edx, dword [esp + 0x134]
mov eax, dword [esp + 0x138]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], edx
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, dword [ebx + 0x38]
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x58], edi
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x2e4]
push eax
call fcn.101ce950
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101de970
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x134]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x138]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], edi
mov byte [esp + 0x8d], 0
mov byte [esp + 0x8c], 0
call fcn.10124cc0
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x2ec]
push edx
mov dword [esp + 0xc4], eax
call fcn.101cea40
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101de970
mov eax, dword [ebx + 4]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
shr eax, 0x13
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x24]
and eax, 0xf
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x6c], edx
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, dword [ebx + 0x38]
shrd ecx, eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x11c]
mov dword [esp + 0x58], edi
shr edx, 0x1c
shr eax, 0x1b
call fcn.10124cc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xbc], eax
push edx
lea eax, [esp + 0x2f4]
push eax
call fcn.101ceb00
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101de970
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
je 0x101de7f3
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, esi
call fcn.101ceeb0
lea ecx, [esp + 0xe8]
push ecx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101de7d4
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x300]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
jmp 0x101de7f3
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x304]
push eax
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101de970
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101de810
lea eax, [esp + 0x44]
mov edx, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
mov eax, dword [ebx + 4]
mov ecx, eax
shr ecx, 0x13
and ecx, 0xf
mov dword [esp + 0x60], ecx
mov ecx, dword [0x102162b0]
shr eax, 0x17
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x134]
and al, 1
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x102162bc]
mov byte [esp + 0x64], al
mov eax, dword [esp + 0x138]
mov dword [esp + 0x68], edx
mov edx, dword [0x102162b4]
mov dword [esp + 0x88], ecx
mov dword [esp + 0x6c], eax
mov eax, dword [0x102162b8]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], edx
mov edx, eax
mov dword [esp + 0x70], edi
mov edi, dword [ebx + 0x38]
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
shr edx, 0x1c
mov edx, dword [esp + 0x110]
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x114]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x94], eax
mov eax, dword [0x102162b4]
mov dword [esp + 0x90], edx
mov edx, dword [0x102162b0]
mov dword [esp + 0x98], ecx
mov ecx, dword [0x102162b8]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xa4], edx
mov edx, dword [0x102162bc]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
and cl, 1
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x30c]
mov byte [esp + 0xb8], cl
mov ecx, dword [esi + 0x5c]
push eax
call fcn.101ce880
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je 0x101de9d8
test byte [esp + 0x10], 1
je 0x101de9d8
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x328]
push eax
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.101e55a0
mov eax, dword [esp + 0x138]
push eax
mov ecx, esi
call fcn.101e55a0
mov ecx, dword [esp + 0x114]
push ecx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov ecx, dword [esp + 0x11c]
push 2
call fcn.10124c00
mov ecx, dword [0x1021623c]
mov edx, eax
mov eax, dword [0x10216238]
mov dword [esp + 0x18], edx
add edx, 1
cmp byte [ebx], 0x35
mov dword [esp + 0x150], ecx
mov ecx, dword [0x10216240]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
jne 0x101deab9
mov edi, dword [ebx + 0x38]
mov eax, 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
shr eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
jmp 0x101deac3
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x31c]
push eax
call fcn.101ca740
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101deba0
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je 0x101deba0
lea edx, [esp + 0xe8]
push edx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea eax, [esp + 0xe8]
push eax
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101deb60
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x328]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
shr eax, 0x1b
and dl, 1
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc4], dl
mov dword [esp + 0xc8], 1
jmp 0x101deba0
lea ecx, [esp + 0x44]
push ecx
lea edx, [esp + 0x32c]
push edx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101deba0
lea eax, [esp + 0x110]
push eax
lea ecx, [esp + 0x334]
push ecx
mov ecx, esi
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101ded21
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101debbd
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x13
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x108]
and ecx, 0xf
cmp byte [ebx], 0x35
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
jne 0x101dec72
mov eax, dword [ebx + 0x44]
mov edi, dword [ebx + 0x40]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
shr eax, 0x1b
and cl, 1
mov byte [esp + 0x8c], cl
mov edx, dword [esp + 0x18]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x33c]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0xc4], edx
call fcn.101ce9b0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101ded21
cmp byte [esp + 0x17], 0
lea eax, [esp + 0x1b0]
je 0x101decb8
lea eax, [esp + 0x110]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 8]
shr ecx, 0x13
mov dword [esp + 0x54], edx
mov edx, dword [0x10235398]
and ecx, 0xf
mov dword [esp + 0x58], eax
mov eax, dword [0x1023539c]
mov dword [esp + 0x60], ecx
mov ecx, dword [0x102353a0]
mov dword [esp + 0x68], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x6c], eax
push edx
lea eax, [esp + 0x344]
mov dword [esp + 0x74], ecx
mov ecx, dword [esi + 0x5c]
push eax
mov byte [esp + 0x95], 0
mov byte [esp + 0x94], 0
call fcn.101cea10
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x360]
push eax
mov ecx, esi
call fcn.101d28b0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101deddb
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 4]
shrd edx, eax, 0x1b
and dl, 1
shr ecx, 0x13
push 1
and ecx, 0xf
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xec]
shr eax, 0x1b
push edx
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x1c4]
push ecx
lea edx, [esp + 0x368]
push edx
mov ecx, esi
call fcn.101d28b0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, esi
call fcn.101e55a0
mov edx, dword [esp + 0x114]
push edx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
cmp edx, 0x36
jne 0x101dee63
mov edi, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
mov edi, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
shr eax, 0x1b
mov eax, dword [ebx + 0x44]
mov byte [esp + 0x8c], cl
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
and dl, 1
mov byte [esp + 0xb4], dl
mov eax, 1
jmp 0x101dee65
xor eax, eax
mov ecx, dword [0x1023539c]
mov edx, dword [0x102353a0]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
mov eax, dword [0x10235398]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0xac], ecx
lea ecx, [esp + 0x50]
mov dword [esp + 0xb0], edx
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xfc]
lea edx, [esp + 0x35c]
push edx
mov dword [esp + 0xa8], eax
call fcn.101ce880
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101defa1
mov eax, dword [0x10235398]
mov ecx, dword [0x1023539c]
mov edx, dword [0x102353a0]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x364]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x60], edx
call fcn.101ce5f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101df1c7
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je 0x101df044
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
lea edx, [esp + 0xe8]
push edx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101df025
lea eax, [esp + 0xc0]
push eax
lea ecx, [esp + 0xec]
push ecx
lea edx, [esp + 0x370]
push edx
mov ecx, esi
call fcn.101cee10
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [eax]
shrd ecx, edx, 0x1b
shr edx, 0x1b
and cl, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xc4], cl
mov dword [esp + 0xc8], 1
jmp 0x101df044
lea eax, [esp + 0x44]
push eax
lea ecx, [esp + 0x374]
push ecx
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101df1c7
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101df061
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x58], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x50], ecx
mov ecx, eax
shr ecx, 0x13
shr eax, 0x17
and ecx, 0xf
and al, 1
cmp dword [esp + 0x130], 0x36
mov dword [esp + 0x54], edx
mov edx, dword [0x10229ee0]
mov dword [esp + 0x60], ecx
mov ecx, dword [0x10229ee8]
mov byte [esp + 0x64], al
mov eax, dword [0x10229ee4]
mov dword [esp + 0x68], edx
mov edx, dword [0x102162b0]
mov dword [esp + 0x6c], eax
mov eax, dword [0x102162b4]
mov dword [esp + 0x70], ecx
mov ecx, dword [0x102162b8]
mov dword [esp + 0x7c], edx
mov edx, dword [0x102162bc]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x15c]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x160]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x164]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x14c]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x154]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x78], 4
mov byte [esp + 0x8d], 0
mov byte [esp + 0x8c], 0
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], eax
mov dword [esp + 0xa0], ecx
jne 0x101df19c
mov eax, dword [ebx + 0x4c]
mov edi, dword [ebx + 0x48]
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, eax, 0x1b
shr ecx, 0x1c
shr eax, 0x1b
and dl, 1
mov byte [esp + 0xb4], dl
jmp 0x101df1ac
mov byte [esp + 0xb5], 0
mov byte [esp + 0xb4], 0
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x37c]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ce270
mov edx, dword [eax]
mov dword [esp + 0x10], edx
cmp byte [esp + 0x17], 0
je 0x101df230
test byte [esp + 0x10], 1
je 0x101df230
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
mov eax, dword [ebx + 4]
shrd ecx, edx, 0x1b
and cl, 1
shr eax, 0x13
push 1
and eax, 0xf
mov dword [esp + 0x1c], eax
lea eax, [esp + 0xec]
shr edx, 0x1b
push ecx
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x398]
push ecx
mov ecx, esi
call fcn.101d28b0
mov edx, dword [eax]
mov eax, dword [esp + 0x48]
push eax
mov ecx, esi
mov dword [esp + 0x14], edx
call fcn.101e55a0
mov eax, dword [esp + 0x19c]
test eax, eax
je case.0x101d79fa.5
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
cmp edx, 0x39
jne 0x101df2b7
mov edi, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
mov edi, dword [ebx + 0x40]
shrd edx, eax, 0x1b
and dl, 1
shr ecx, 0x1c
shr eax, 0x1b
mov eax, dword [ebx + 0x44]
mov byte [esp + 0x8c], dl
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr eax, 0x1b
shr edx, 0x1c
and cl, 1
mov byte [esp + 0xb4], cl
mov eax, 1
jmp 0x101df2b9
xor eax, eax
mov ecx, dword [0x102353a0]
mov edx, dword [0x10235398]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
mov eax, dword [0x1023539c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0x120]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x12c]
mov dword [esp + 0x94], edx
mov edx, dword [esp + 0x124]
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x38c]
mov dword [esp + 0xac], edx
mov edx, dword [esp + 0xfc]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0xa8], edx
call fcn.101ce880
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101df471
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
je 0x101df471
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, esi
call fcn.101ceeb0
lea ecx, [esp + 0xe8]
push ecx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101df43a
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x398]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
jmp 0x101df471
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x39c]
push eax
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101df471
lea ecx, [esp + 0x110]
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
call fcn.101cf1f0
mov edi, dword [esp + 0x10]
and edi, 1
je 0x101df4c2
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101df48c
lea eax, [esp + 0x44]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x13
mov dword [esp + 0x54], edx
and ecx, 0xf
lea edx, [esp + 0x50]
mov dword [esp + 0x58], eax
push edx
lea eax, [esp + 0x3a4]
mov dword [esp + 0x64], ecx
mov ecx, dword [esi + 0x5c]
push eax
call fcn.101ce5f0
cmp edi, 1
jne 0x101df58f
cmp byte [esp + 0x17], 0
lea eax, [esp + 0x1b0]
je 0x101df4e0
lea eax, [esp + 0x110]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 8]
shr ecx, 0x13
mov dword [esp + 0x54], edx
mov edx, dword [0x10229ee0]
and ecx, 0xf
cmp dword [esp + 0x130], 0x39
mov dword [esp + 0x58], eax
mov eax, dword [0x10229ee4]
mov dword [esp + 0x60], ecx
mov ecx, dword [0x10229ee8]
mov dword [esp + 0x68], edx
mov edx, dword [0x102162b0]
mov dword [esp + 0x6c], eax
mov eax, dword [0x102162b4]
mov dword [esp + 0x70], ecx
mov ecx, dword [0x102162b8]
mov dword [esp + 0x7c], edx
mov edx, dword [0x102162bc]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], 4
mov byte [esp + 0x8d], 0
mov byte [esp + 0x8c], 0
jne 0x101df57a
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x3ac]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ca740
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test edi, edi
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x3c8]
push eax
mov ecx, esi
call fcn.101d28b0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101df646
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 4]
shrd edx, eax, 0x1b
and dl, 1
shr ecx, 0x13
push 1
and ecx, 0xf
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xec]
shr eax, 0x1b
push edx
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x1c4]
push ecx
lea edx, [esp + 0x3d0]
push edx
mov ecx, esi
call fcn.101d28b0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x48]
push ecx
mov ecx, esi
call fcn.101e55a0
mov edx, dword [esp + 0x114]
push edx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x38]
mov edx, eax
shrd ecx, edx, 0x1c
shr edx, 0x1c
test cl, 1
jne 0x101df7f5
mov ecx, dword [ebx + 0x38]
shrd ecx, eax, 0x1b
shr eax, 0x1b
test cl, 1
jne 0x101df7f5
mov edx, edi
shr edx, 0xe
test dl, 1
je 0x101df70f
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, esi
call fcn.101ceeb0
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
shrd ecx, edx, 0x1b
and cl, 1
lea eax, [esp + 0xe8]
mov byte [esp + 0xc4], cl
mov edi, 1
push eax
mov ecx, esi
shr edx, 0x1b
mov dword [esp + 0xcc], edi
call fcn.101e5510
test al, al
je 0x101df708
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x3c8]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x101df714
mov byte [esp + 0x17], 1
jmp 0x101df714
mov edi, 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 4]
shr edx, 0x13
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x28]
and edx, 0xf
cmp byte [esp + 0x17], 0
mov dword [esp + 0x60], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x78], ecx
mov byte [esp + 0x8c], 1
jne 0x101df7cd
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x3cc]
push eax
call fcn.101ca740
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push edi
lea ecx, [esp + 0x3dc]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101df87c
lea ecx, [esp + 0xe8]
push ecx
mov ecx, esi
call fcn.101e5510
test al, al
je 0x101df85d
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x3e0]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
shrd eax, ecx, 0x1b
shr ecx, 0x1b
and al, 1
mov dword [esp + 0x10], edx
mov byte [esp + 0xc4], al
mov dword [esp + 0xc8], 1
jmp 0x101df87c
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x3e4]
push eax
mov ecx, esi
mov byte [esp + 0x1f], 1
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101df9f0
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101df899
lea eax, [esp + 0x44]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0x50], edx
mov edx, dword [eax + 8]
shr ecx, 0x13
and ecx, 0xf
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x34]
mov eax, 1
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr eax, 0x1b
shr ecx, 0x1c
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x3ec]
and dl, 1
push ecx
mov ecx, dword [esi + 0x5c]
mov byte [esp + 0x94], dl
call fcn.101ca740
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101df9f0
cmp byte [esp + 0x17], 0
lea eax, [esp + 0xd8]
je 0x101df976
lea eax, [esp + 0x44]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp + 0x68], ecx
mov ecx, dword [0x102162b0]
mov dword [esp + 0x6c], edx
mov edx, dword [0x102162b4]
mov dword [esp + 0x70], eax
mov eax, dword [0x102162b8]
mov dword [esp + 0x7c], ecx
mov ecx, dword [0x102162bc]
mov dword [esp + 0x80], edx
lea edx, [esp + 0x50]
mov dword [esp + 0x84], eax
push edx
lea eax, [esp + 0x3f4]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esi + 0x5c]
push eax
mov dword [esp + 0x80], 4
mov byte [esp + 0x95], 0
mov byte [esp + 0x94], 1
call fcn.101ca740
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je case.0x101d79fa.5
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x410]
push eax
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [eax]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
push edx
mov ecx, esi
call fcn.101e55a0
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101dfadf
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
lea ecx, [esp + 0xe8]
and dl, 1
push ecx
mov ecx, esi
shr eax, 0x1b
mov byte [esp + 0xc8], dl
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101dfada
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x408]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101dfadf
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], eax
xor eax, eax
cmp dword [esp + 0x130], 0x40
mov dword [esp + 0x54], ecx
mov ecx, dword [ebx + 4]
sete al
shr ecx, 0x13
and ecx, 0xf
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x70], ecx
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
mov edx, edi
shrd edx, eax, 0x1b
shr ecx, 0x1c
mov ecx, dword [esp + 0x34]
shr eax, 0x1b
mov eax, dword [esp + 0x30]
and dl, 1
cmp byte [esp + 0x17], 0
mov byte [esp + 0x8c], dl
mov edx, dword [esp + 0x38]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x74], 7
mov dword [esp + 0x84], edx
mov dword [esp + 0x88], eax
mov dword [esp + 0x78], ecx
jne 0x101dfbcf
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
push edx
lea eax, [esp + 0x40c]
push eax
call fcn.101ca740
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea edx, [esp + 0xe8]
push edx
lea eax, [esp + 0x54]
push eax
push 1
lea ecx, [esp + 0x41c]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, edi
shr eax, 0xe
test al, 1
je 0x101dfc72
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, esi
call fcn.101ceeb0
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
shrd edx, eax, 0x1b
lea ecx, [esp + 0xe8]
and dl, 1
push ecx
mov ecx, esi
shr eax, 0x1b
mov byte [esp + 0xc8], dl
mov dword [esp + 0xcc], 1
call fcn.101e5510
test al, al
je 0x101dfc6d
lea edx, [esp + 0xc0]
push edx
lea eax, [esp + 0xec]
push eax
lea ecx, [esp + 0x420]
push ecx
mov ecx, esi
call fcn.101cee10
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101dfc72
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
cmp dword [esp + 0x130], 0x42
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], eax
jne 0x101dfd05
mov eax, dword [ebx + 0x3c]
mov edi, dword [ebx + 0x38]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, edi
shrd ecx, eax, 0x1b
shr edx, 0x1c
shr eax, 0x1b
and cl, 1
mov dword [esp + 0x74], 1
mov byte [esp + 0x8c], cl
jmp 0x101dfd0d
mov dword [esp + 0x74], 0
cmp byte [esp + 0x17], 0
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], edx
mov dword [esp + 0x78], eax
jne 0x101dfd61
lea ecx, [esp + 0x50]
push ecx
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x424]
push edx
call fcn.101ca740
mov eax, dword [eax]
jmp 0x101e1e19
lea ecx, [esp + 0xe8]
push ecx
lea edx, [esp + 0x54]
push edx
push 1
lea eax, [esp + 0x434]
push eax
mov ecx, esi
call fcn.101d2a70
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
cmp edx, 0x4c
mov eax, dword [0x10235398]
mov ecx, dword [0x1023539c]
mov dword [esp + 0x50], eax
mov eax, dword [0x102353a0]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], eax
jne 0x101dfdb2
mov eax, 1
jmp 0x101dfdb9
cmp edx, 0x4d
jne 0x101dfdc8
xor eax, eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x74], eax
mov dword [esp + 0x9c], eax
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x78], edx
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x3c]
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, dword [ebx + 0x38]
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
mov edx, dword [esp + 0x104]
shr eax, 0x1b
mov eax, dword [esp + 0x108]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xac], ecx
mov ecx, dword [ebx + 0x40]
mov dword [esp + 0xb0], edx
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
shr edx, 0x1c
mov edx, edi
and cl, 1
shr edx, 8
mov byte [esp + 0xb4], cl
and edx, 7
push edx
mov ecx, esi
shr eax, 0x1b
call fcn.101cefc0
mov dword [esp + 0xcc], eax
mov eax, dword [ebx + 4]
mov ecx, eax
and ecx, 0x78000
cmp ecx, 0x40000
jne 0x101dffe5
shr eax, 0x13
mov edx, edi
and eax, 0xf
shr edx, 0xe
test dl, 1
mov dword [esp + 0xc8], 1
mov dword [esp + 0x60], eax
je 0x101dff8e
lea eax, [esp + 0xe8]
push eax
push ebx
mov ecx, esi
call fcn.101ceeb0
mov ecx, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
shrd ecx, edx, 0x1b
and cl, 1
lea eax, [esp + 0xe8]
mov byte [esp + 0xc4], cl
push eax
mov ecx, esi
shr edx, 0x1b
call fcn.101e5510
test al, al
je 0x101dff89
lea ecx, [esp + 0xc0]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x438]
push eax
mov ecx, esi
call fcn.101cee10
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x101dff8e
mov byte [esp + 0x17], 1
test byte [esp + 0x10], 1
je case.0x101d79fa.5
cmp byte [esp + 0x17], 0
lea eax, [esp + 0x50]
je 0x101dffc9
lea edx, [esp + 0xe8]
push edx
push eax
push 0x10
lea ecx, [esp + 0x444]
push ecx
mov ecx, esi
call fcn.101d2a70
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
push eax
lea ecx, [esp + 0x444]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ce3b0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov edx, dword [esp + 0x1c]
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x44c]
push ecx
mov ecx, dword [edx + 0x5c]
mov dword [esp + 0xd0], 0
call fcn.101ce3b0
mov eax, dword [eax]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebx]
mov esi, dword [esp + 0x1c]
shr ecx, 0xe
test cl, 1
mov dword [esp + 0x10], eax
je 0x101e0055
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x454]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x4c]
jmp 0x101e006a
mov edx, dword [esp + 0xd8]
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x50], edx
mov edx, dword [ebx + 4]
shr edx, 0x13
xor edi, edi
and edx, 0xf
test byte [esp + 0x10], 1
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edx
mov dword [esp + 0xc0], 1
mov dword [esp + 0xc8], edi
je 0x101e00f3
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x45c]
push ecx
mov ecx, dword [esi + 0x5c]
mov dword [esp + 0x70], 0xffffffff
call fcn.101ce650
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101e00f3
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x464]
push ecx
mov ecx, dword [esi + 0x5c]
mov byte [esp + 0xcc], 1
mov dword [esp + 0x70], edi
call fcn.101ce650
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je case.0x101d79fa.5
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
mov ecx, dword [ebx + 4]
mov esi, dword [esp + 0x1c]
shrd edx, eax, 0x1b
shr ecx, 0x13
and ecx, 0xf
shr eax, 0x1b
and dl, 1
push 1
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xec]
push edx
lea edx, [esp + 0x20]
push ecx
push edx
lea edx, [esp + 0x478]
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0xec]
push ecx
push edx
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [esp + 0x48]
mov eax, dword [eax]
push ecx
mov ecx, esi
mov dword [esp + 0x14], eax
call fcn.101e55a0
jmp case.0x101d79fa.5
shr edi, 8
and edi, 7
push edi
mov ecx, esi
call fcn.101cefc0
mov edx, dword [0x10235398]
mov ecx, dword [0x102353a0]
mov edi, dword [ebx + 0x38]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [0x1023539c]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x88], edx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x84], ecx
mov ecx, dword [ebx + 0x3c]
mov dword [esp + 0x78], eax
mov eax, ecx
mov edx, edi
shrd edx, eax, 0x1c
and dl, 1
mov byte [esp + 0x8d], dl
shr eax, 0x1c
mov eax, dword [esp + 0x104]
mov edx, edi
mov edi, dword [ebx + 0x40]
shrd edx, ecx, 0x1b
shr ecx, 0x1b
mov ecx, dword [esp + 0x108]
and dl, 1
mov byte [esp + 0x8c], dl
mov edx, dword [esp + 0x10c]
mov dword [esp + 0x94], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0xac], edx
mov dword [esp + 0xa0], ecx
mov ecx, dword [ebx + 0x44]
mov dword [esp + 0xb0], eax
mov eax, ecx
mov edx, edi
shrd edx, eax, 0x1c
and dl, 1
mov byte [esp + 0xb5], dl
mov edx, edi
shrd edx, ecx, 0x1b
shr ecx, 0x1b
and dl, 1
lea ecx, [esp + 0x50]
mov byte [esp + 0xb4], dl
push ecx
mov ecx, dword [esi + 0x5c]
shr eax, 0x1c
mov eax, dword [esp + 0x1c]
lea edx, [esp + 0x474]
push edx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd0], 0
call fcn.101ce3b0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x750]
call fcn.10058000
lea ecx, [esp + 0x750]
mov dword [esp + 0x944], 0
call fcn.10057150
mov ecx, dword [esi + 0x54]
call fcn.100b3140
mov eax, dword [eax + 0x5c]
mov edi, dword [ebp + 0x10]
mov dword [esp + 0x18], eax
mov eax, dword [eax + 0x48]
add edi, 1
cmp edi, eax
mov dword [esp + 0x100], 0x84
mov dword [esp + 0xe4], 0
mov dword [esp + 0xfc], eax
jae 0x101e03c7
mov eax, dword [esp + 0x10]
and eax, 1
cmp eax, 1
jne 0x101e03c7
lea ecx, [esp + 0x750]
push ecx
mov ecx, dword [esp + 0x1c]
push edi
lea edx, [esp + 0x480]
push edx
call fcn.10059820
mov eax, dword [eax]
mov dword [esp + 0x10], eax
add edi, 1
and eax, 1
je 0x101e03ba
mov ecx, dword [esp + 0x750]
and ecx, 0xff
cmp ecx, 0x52
mov dword [esp + 0x100], ecx
je 0x101e039e
cmp ecx, 0x53
je 0x101e039e
cmp ecx, 0x4e
jne 0x101e03ba
add dword [esp + 0xe4], 1
jmp 0x101e03ba
cmp dword [esp + 0xe4], 0
je 0x101e03c7
cmp dword [esp + 0x100], 0x53
jne 0x101e03ba
sub dword [esp + 0xe4], 1
cmp edi, dword [esp + 0xfc]
jb 0x101e0340
test byte [esp + 0x10], 1
je 0x101e0420
mov eax, dword [esp + 0x100]
cmp eax, 0x53
jne 0x101e03f8
mov ecx, dword [esi + 0x5c]
push 0
push 0
push 1
lea eax, [esp + 0x48c]
push eax
call fcn.101ce580
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x101e0420
cmp eax, 0x52
jne 0x101e041b
mov ecx, dword [esi + 0x5c]
push 0
push 0
push 1
lea edx, [esp + 0x494]
push edx
call fcn.101ce550
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x101e0420
and dword [esp + 0x10], 0xfffffffe
lea ecx, [esp + 0x750]
mov dword [esp + 0x944], 0xffffffff
call fcn.10058030
jmp case.0x101d79fa.5
lea ecx, [ebx + 0x38]
mov byte [esp + 0xe4], 0
mov dword [esp + 0x100], 1
call fcn.10010740
cmp eax, 8
jne 0x101e04a8
lea ecx, [esp + 0x100]
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x498]
push eax
mov ecx, esi
mov dword [esp + 0x108], 1
call fcn.101cee10
mov ecx, dword [eax]
and edi, 0x1800
cmp edi, 0x800
mov dword [esp + 0x10], ecx
jne 0x101e055e
mov byte [esp + 0xe4], 1
jmp 0x101e055e
mov edx, dword [0x10235398]
mov ecx, dword [0x1023539c]
mov dword [esp + 0x50], edx
mov edx, dword [0x102353a0]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x3c]
shr edi, 0xb
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x88], ecx
and edi, 3
push edi
mov ecx, esi
mov dword [esp + 0x100], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xcc], eax
call fcn.101ced30
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x49c]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ce410
mov edx, dword [eax]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x100]
push eax
push ecx
mov ecx, dword [esi + 0x5c]
push edx
lea eax, [esp + 0x4ac]
push eax
call fcn.101ce550
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x4a8]
push edx
call fcn.101ce4c0
jmp case.0x101d79fa.5
mov ecx, dword [esi + 0x5c]
lea eax, [esp + 0x4b0]
push eax
call fcn.101cb030
jmp case.0x101d79fa.5
lea ecx, [esp + 0x4b8]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101cafc0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je case.0x101d79fa.5
mov edx, dword [esp + 0x130]
push edx
lea ecx, [esi + 0x1c0]
call fcn.100b3290
test al, al
jne case.0x101d79fa.5
mov eax, dword [esp + 0x10]
and al, 0xfe
or al, 8
jmp 0x101e1e19
push 0
push 0
push 0
push 0
lea ecx, [esp + 0x4d0]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101cec20
mov edx, dword [eax]
lea ecx, [esi + 0x1c0]
mov dword [esp + 0x10], edx
call fcn.101b51d0
jmp case.0x101d79fa.5
mov eax, dword [esi]
lea ecx, [esp + 0x4c8]
push ecx
mov ecx, esi
call dword [eax + 0x24]
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov ecx, dword [esi + 0x5c]
push 0
push 0
push 0
lea eax, [esp + 0x4dc]
push eax
call fcn.101ce350
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea ecx, [ebx + 0x38]
mov byte [esp + 0xe4], 0
mov dword [esp + 0x100], 1
call fcn.10010740
cmp eax, 8
jne 0x101e06e1
lea edx, [esp + 0x100]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x4e0]
push ecx
mov ecx, esi
mov dword [esp + 0x108], 1
call fcn.101cee10
mov edx, dword [eax]
and edi, 0x1800
cmp edi, 0x800
mov dword [esp + 0x10], edx
jne 0x101e0797
mov byte [esp + 0xe4], 1
jmp 0x101e0797
mov ecx, dword [0x10235398]
mov edx, dword [0x1023539c]
mov dword [esp + 0x50], ecx
mov ecx, dword [0x102353a0]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x70], edx
mov edx, dword [esp + 0x34]
xor eax, eax
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x20]
shr edi, 0xb
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x78], ecx
and edi, 3
push edi
mov ecx, esi
mov dword [esp + 0x100], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x8c], edx
mov dword [esp + 0x78], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0xcc], eax
call fcn.101ced30
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xcc], eax
push edx
lea eax, [esp + 0x4e4]
push eax
call fcn.101ce410
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je case.0x101d79fa.5
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x100]
push edx
push eax
push ecx
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x4f4]
push edx
call fcn.101ce350
mov eax, dword [eax]
jmp 0x101e1e19
mov ecx, dword [0x10235398]
mov edx, dword [0x1023539c]
mov eax, dword [0x102353a0]
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x7c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x88], ecx
mov ecx, dword [ebx + 0x38]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x78], edx
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, dword [ebx + 0x38]
shrd ecx, eax, 0x1b
and cl, 1
shr eax, 0x1b
mov eax, dword [esp + 0x108]
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x10c]
shr edx, 0x1c
mov edx, dword [esp + 0x104]
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x90], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0xac], ecx
mov ecx, dword [ebx + 0x40]
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0xa0], eax
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xb0], edx
mov edx, eax
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0xb5], cl
mov ecx, dword [ebx + 0x40]
shrd ecx, eax, 0x1b
and cl, 1
shr edi, 8
mov byte [esp + 0xb4], cl
and edi, 7
push edi
mov ecx, esi
shr edx, 0x1c
shr eax, 0x1b
call fcn.101cefc0
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x50]
mov dword [esp + 0xcc], eax
push edx
lea eax, [esp + 0x4f4]
push eax
mov dword [esp + 0xd0], 0
call fcn.101ce3b0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je case.0x101d79fa.5
push 0
push 0
push 1
lea ecx, [esp + 0x504]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101ce350
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp case.0x101d79fa.5
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x14]
jmp case.0x101d79fa.5
lea ecx, [esp + 0x1d8]
call fcn.101d2cd0
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1e0], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x1e4], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x204], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1e8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x208], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x210], ecx
lea ecx, [ebx + 0x38]
mov dword [esp + 0x944], 1
mov dword [esp + 0x20c], eax
mov dword [esp + 0x234], edx
call fcn.10010740
cmp eax, 8
sete byte [esp + 0x250]
lea eax, [esp + 0xe4]
shr edi, 0xb
push eax
lea ecx, [esp + 0x1dc]
and edi, 3
push ecx
mov dword [esp + 0x25c], edi
mov dword [esp + 0xec], 0
call fcn.101d4240
add esp, 8
test al, 1
mov dword [esp + 0x10], eax
je 0x101e0a62
mov edi, dword [esp + 0xe4]
push edi
lea ecx, [esi + 0x1f8]
call fcn.101b5190
test al, al
jne 0x101e0a62
test edi, edi
je 0x101e0a56
lea edx, [esp + 0xe4]
push edx
call fcn.101d4370
add esp, 4
mov eax, dword [esp + 0x10]
and al, 0xfe
or al, 8
mov dword [esp + 0x10], eax
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x6c8]
rep movsd dword es:[edi], dword [esi]
xor esi, esi
test byte [esp + 0x10], 1
mov byte [esp + 0xe4], 1
mov dword [esp + 0xfc], 1
je 0x101e0be5
cmp byte [esp + 0x250], 0
je 0x101e0ae5
lea ecx, [esp + 0xfc]
push ecx
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x508]
push eax
mov esi, 1
call fcn.101cee10
mov edx, dword [ebx]
mov ecx, dword [eax]
and edx, 0x1800
cmp edx, 0x1000
sete al
mov dword [esp + 0x10], ecx
mov byte [esp + 0xe4], al
jmp 0x101e0bc2
mov eax, dword [0x102353a0]
mov ecx, dword [0x10235398]
mov edx, dword [0x1023539c]
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x6d0], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x6c8], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x6e8], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6cc], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x6e0], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x6fc], eax
mov eax, dword [ebx]
mov dword [esp + 0x6e4], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x6f4], ecx
mov ecx, dword [esp + 0x3c]
shr eax, 0xb
xor esi, esi
mov dword [esp + 0x6f8], edx
mov edx, dword [esp + 0x20]
and eax, 3
mov dword [esp + 0x700], ecx
push eax
mov ecx, edi
mov dword [esp + 0x6d8], esi
mov dword [esp + 0x6f4], edx
mov dword [esp + 0x6f0], esi
mov dword [esp + 0x70c], esi
mov dword [esp + 0x744], esi
call fcn.101ced30
lea ecx, [esp + 0x6c8]
push ecx
mov ecx, dword [edi + 0x5c]
lea edx, [esp + 0x50c]
push edx
mov dword [esp + 0x74c], eax
call fcn.101ce410
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov byte [esp + 0xe4], 1
test byte [esp + 0x10], 1
je 0x101e0be5
mov edi, dword [esp + 0x1c]
lea ecx, [esp + 0x510]
push ecx
mov ecx, dword [edi + 0x5c]
call fcn.101cafc0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101e0be9
mov edi, dword [esp + 0x1c]
test byte [esp + 0x10], 1
je 0x101e0c43
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xfc]
push esi
push eax
push ecx
mov ecx, dword [edi + 0x5c]
lea edx, [esp + 0x524]
push edx
call fcn.101ce350
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101e0c43
mov ecx, dword [esp + 0x130]
push ecx
lea ecx, [edi + 0x1c0]
call fcn.100b3290
test al, al
jne 0x101e0c43
mov edx, dword [esp + 0x10]
and edx, 0xfffffffe
or edx, 8
mov dword [esp + 0x10], edx
mov dword [esp + 0x944], 0xffffffff
jmp case.0x101d79fa.5
lea ecx, [esi + 0x1f8]
call fcn.101b51d0
mov edi, eax
cmp byte [edi + 0x78], 0
mov dword [esp + 0x18], edi
mov dword [esp + 0xfc], 0
mov byte [esp + 0xe4], 0
mov dword [esp + 0x100], 1
je 0x101e0cc4
lea eax, [esp + 0x100]
push eax
lea ecx, [edi + 0x2c]
push ecx
lea edx, [esp + 0x528]
push edx
mov ecx, esi
mov dword [esp + 0x108], 1
call fcn.101cee10
cmp dword [edi + 0x7c], 1
mov eax, dword [eax]
sete cl
mov dword [esp + 0x10], eax
mov byte [esp + 0xe4], cl
jmp 0x101e0cda
mov edx, dword [esi]
push edi
lea eax, [esp + 0x52c]
push eax
mov ecx, esi
call dword [edx + 0x28]
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
test byte [esp + 0x10], 1
je 0x101e0d11
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x100]
push 1
push edx
push eax
push ecx
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x540]
push edx
call fcn.101cec20
mov eax, dword [eax]
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x18]
push ecx
call fcn.101d4370
add esp, 4
lea ecx, [esi + 0x1c0]
call fcn.101b51d0
jmp case.0x101d79fa.5
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x538]
push edx
call fcn.101cafc0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je case.0x101d79fa.5
mov eax, dword [esp + 0x130]
push eax
lea ecx, [esi + 0x1c0]
call fcn.100b3290
test al, al
jne case.0x101d79fa.5
mov ecx, dword [esp + 0x10]
and ecx, 0xfffffffe
or ecx, 8
mov dword [esp + 0x10], ecx
jmp case.0x101d79fa.5
lea ecx, [ebx + 0x38]
mov dword [esp + 0x100], 1
call fcn.10010740
cmp eax, 8
jne 0x101e0df8
lea edx, [esp + 0x100]
push edx
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x548]
push ecx
mov ecx, esi
mov dword [esp + 0x108], 1
call fcn.101cee10
mov eax, dword [eax]
and edi, 0x1800
cmp edi, 0x1000
sete dl
test al, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0xe4], dl
je 0x101e0ec4
mov ecx, dword [esi + 0x5c]
lea eax, [esp + 0x548]
push eax
call fcn.101cbab0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x101e0ec4
lea ecx, [esp + 0x1d8]
mov byte [esp + 0xe4], 1
mov dword [esp + 0xfc], 0
call fcn.101d2cd0
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x1e0], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x204], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20c], ecx
lea ecx, [ebx + 0x38]
mov dword [esp + 0x944], 2
mov dword [esp + 0x210], edx
mov dword [esp + 0x234], eax
call fcn.10010740
mov edx, dword [esi]
cmp eax, 8
sete cl
mov byte [esp + 0x250], cl
lea eax, [esp + 0x1d8]
shr edi, 0xb
push eax
lea ecx, [esp + 0x554]
and edi, 3
push ecx
mov ecx, esi
mov dword [esp + 0x25c], edi
call dword [edx + 0x28]
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov dword [esp + 0x944], 0xffffffff
test byte [esp + 0x10], 1
je 0x101e10f2
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x100]
push 0
push eax
push ecx
mov ecx, dword [esi + 0x5c]
push edx
lea eax, [esp + 0x568]
push eax
call fcn.101cec20
jmp 0x101e10ec
lea ecx, [esp + 0x1d8]
call fcn.101d2cd0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1e0], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x1ec], edx
mov edx, dword [esp + 0x15c]
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x1f8], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x164]
mov dword [esp + 0x1e4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0x204], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x200], ecx
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x1f0], eax
mov eax, dword [esp + 0x160]
mov dword [esp + 0x210], edx
mov edx, dword [esp + 0x128]
mov dword [esp + 0x20c], ecx
mov ecx, dword [esp + 0x124]
mov dword [esp + 0x1fc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x21c], edx
mov edx, dword [esp + 0x150]
mov dword [esp + 0x218], ecx
mov ecx, dword [esp + 0x14c]
mov dword [esp + 0x208], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0x228], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x224], ecx
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x214], eax
mov eax, dword [esp + 0x12c]
mov dword [esp + 0x234], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 0x230], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x240], edx
mov edx, dword [ebx + 4]
mov dword [esp + 0x23c], ecx
mov ecx, dword [esp + 0xe0]
mov dword [esp + 0x22c], eax
mov eax, dword [esp + 0xf8]
shr edx, 0x13
mov dword [esp + 0x248], ecx
and edx, 0xf
mov dword [esp + 0x238], eax
mov eax, dword [esp + 0xdc]
lea ecx, [esp + 0x1d8]
mov dword [esp + 0x24c], edx
push ecx
lea edx, [esp + 0x564]
mov dword [esp + 0x248], eax
mov eax, dword [esi]
push edx
mov ecx, esi
mov dword [esp + 0x94c], 3
call dword [eax + 0x1c]
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101e10cd
mov eax, dword [esp + 0x130]
push eax
lea ecx, [esi + 0x1c0]
call fcn.100b3290
test al, al
jne 0x101e10cd
mov ecx, dword [esp + 0x10]
and ecx, 0xfffffffe
or ecx, 8
mov dword [esp + 0x10], ecx
mov dword [esp + 0x944], 0xffffffff
jmp case.0x101d79fa.5
mov edx, dword [esi]
lea eax, [esp + 0x568]
push eax
mov ecx, esi
call dword [edx + 0x20]
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x1c0]
call fcn.101b51d0
jmp case.0x101d79fa.5
cmp edx, 0x76
mov eax, dword [0x102162c4]
mov ecx, dword [0x102162c8]
mov edi, dword [0x102162cc]
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edi
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], edi
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1d0], ecx
mov dword [esp + 0x1d4], edi
je 0x101e11b5
cmp edx, 0x6e
je 0x101e11b5
mov edi, dword [esp + 0x11c]
push 2
mov ecx, edi
call fcn.10124c00
mov ecx, dword [esi + 8]
mov edx, dword [ecx]
call dword [edx + 0xc]
test byte [eax + 0x17], 8
mov ecx, edi
je 0x101e11b1
push 6
call fcn.10124c00
mov edi, eax
push 4
lea eax, [esp + 0x1d0]
push eax
mov ecx, esi
mov dword [esp + 0x124], edi
call fcn.101d0520
test al, al
jne 0x101e11cc
mov ecx, dword [esp + 0x10]
and ecx, 0xfffffffe
or ecx, 2
mov dword [esp + 0x10], ecx
jmp 0x101e11cc
push 3
jmp 0x101e11be
mov ecx, dword [esp + 0x11c]
push 2
call fcn.10124c00
mov edi, eax
mov dword [esp + 0x11c], edi
mov eax, dword [0x1021623c]
mov edx, dword [0x10216238]
mov ecx, dword [0x10216240]
mov dword [esp + 0x16c], eax
mov eax, dword [ebx + 0x48]
add edi, 1
mov dword [esp + 0x16c], edi
mov edi, dword [ebx + 0x40]
mov dword [esp + 0x168], edx
mov edx, dword [esi]
mov dword [esp + 0x170], ecx
and edi, 0x7fff
and eax, 0x7fff
push edi
mov ecx, esi
mov dword [esp + 0xfc], eax
call dword [edx + 0xc]
mov dword [esp + 0xfc], eax
mov eax, dword [esi + 0x54]
mov ecx, dword [eax + 0x18]
push edi
call fcn.10059780
cmp dword [esp + 0x130], 0x76
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov edi, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x144], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x18c], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
mov dword [esp + 0x100], edx
mov byte [esp + 0x17], 0
je 0x101e12d2
mov eax, dword [esp + 0x130]
cmp eax, 0x73
je 0x101e12d2
cmp eax, 0x78
jne 0x101e12f0
mov ecx, dword [esp + 0x1a0]
lea eax, [esp + 0x1a0]
push eax
push ecx
mov ecx, esi
call fcn.101cef00
mov eax, dword [esp + 0x6a0]
lea edx, [esp + 0x6a0]
push edx
push eax
jmp 0x101e12e2
mov edx, dword [esp + 0x1a0]
lea ecx, [esp + 0x1a0]
push ecx
push edx
mov ecx, esi
call fcn.101cef00
mov eax, dword [esp + 0x130]
cmp edi, 7
jne 0x101e140a
test byte [esp + 0x10], 1
je 0x101e1729
lea eax, [esp + 0x134]
push eax
lea ecx, [esp + 0x574]
push ecx
mov ecx, esi
call fcn.101cf1f0
mov edx, dword [eax]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
je 0x101e1729
cmp eax, 0x76
je 0x101e1365
cmp eax, 0x78
je 0x101e1365
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x30]
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x140]
push eax
lea ecx, [esp + 0x588]
push ecx
mov ecx, esi
call fcn.101cf2d0
jmp 0x101e13a3
mov ecx, dword [esp + 0xe4]
lea eax, [esp + 0x1a0]
push eax
push ecx
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x188]
push edx
lea eax, [esp + 0x3c]
push eax
push ecx
lea edx, [esp + 0x38]
push edx
lea eax, [esp + 0x14c]
push eax
lea ecx, [esp + 0x59c]
push ecx
mov ecx, esi
call fcn.101cf720
mov edx, dword [eax]
mov eax, dword [esp + 0x134]
mov ecx, dword [esp + 0x138]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x13c]
mov dword [esp + 0x140], eax
mov eax, dword [0x102162b0]
mov dword [esp + 0x144], ecx
mov ecx, dword [0x102162b4]
mov dword [esp + 0x148], edx
mov edx, dword [0x102162b8]
mov dword [esp + 0x18c], eax
mov eax, dword [0x102162bc]
mov dword [esp + 0x190], ecx
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], eax
jmp 0x101e14ec
cmp eax, 0x76
je 0x101e1418
cmp eax, 0x78
jne 0x101e14f7
test byte [esp + 0x10], 1
je 0x101e1729
lea ecx, [esp + 0x134]
push ecx
lea edx, [esp + 0x58c]
push edx
mov ecx, esi
call fcn.101cf1f0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101e1729
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0x1a0]
push ecx
push edx
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x188]
push eax
lea ecx, [esp + 0x3c]
push ecx
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x14c]
push ecx
lea edx, [esp + 0x5ac]
push edx
mov ecx, esi
call fcn.101cfd30
mov eax, dword [eax]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x138]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x13c]
mov dword [esp + 0x140], ecx
mov ecx, dword [0x102162b0]
mov dword [esp + 0x144], edx
mov edx, dword [0x102162b4]
mov dword [esp + 0x148], eax
mov eax, dword [0x102162b8]
mov dword [esp + 0x18c], ecx
mov ecx, dword [0x102162bc]
mov dword [esp + 0x190], edx
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], ecx
mov dword [esp + 0x100], 4
test byte [esp + 0x10], 1
je 0x101e1729
mov eax, dword [esp + 0x130]
cmp eax, 0x6e
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
je 0x101e165a
cmp eax, 0x76
je 0x101e165a
cmp eax, 0x73
mov esi, dword [ebx + 0x3c]
jne 0x101e15cb
mov edi, dword [ebx + 0x50]
mov eax, dword [ebx + 0x54]
mov ecx, eax
mov edx, edi
shrd edx, ecx, 0x1b
and dl, 1
shr ecx, 0x1b
lea ecx, [esp + 0x1a0]
push edx
mov edx, edi
shrd edx, eax, 0x1c
and dl, 1
shr eax, 0x1c
mov eax, dword [esp + 0xe8]
mov edi, dword [esp + 0x20]
push edx
push eax
mov eax, dword [ebx + 0x38]
push ecx
mov ecx, eax
lea edx, [esp + 0x190]
push edx
mov edx, esi
shrd ecx, edx, 0x1b
shrd eax, esi, 0x1c
and cl, 1
and al, 1
shr edx, 0x1b
lea edx, [esp + 0x154]
shr esi, 0x1c
push ecx
push eax
mov eax, dword [esp + 0x11c]
push eax
lea ecx, [esp + 0x1ac]
push ecx
push edx
lea eax, [esp + 0x190]
push eax
lea ecx, [esp + 0x5c4]
push ecx
mov ecx, edi
call fcn.101d0d90
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jmp 0x101e172d
mov eax, dword [ebx + 0x5c]
mov edi, dword [ebx + 0x58]
mov edx, eax
mov ecx, edi
shrd ecx, edx, 0x1b
and cl, 1
shr edx, 0x1b
mov edx, dword [esp + 0x18]
push ecx
mov ecx, edi
shrd ecx, eax, 0x1c
and cl, 1
shr eax, 0x1c
lea eax, [esp + 0x6a4]
push ecx
push edx
push eax
mov eax, dword [ebx + 0x38]
mov edx, eax
lea ecx, [esp + 0x26c]
push ecx
mov ecx, esi
shrd edx, ecx, 0x1b
shrd eax, esi, 0x1c
and dl, 1
and al, 1
shr ecx, 0x1b
lea ecx, [esp + 0x154]
shr esi, 0x1c
push edx
mov edx, dword [esp + 0x118]
push eax
push edx
lea eax, [esp + 0x1ac]
push eax
push ecx
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x190]
push edx
lea eax, [esp + 0x5cc]
push eax
call fcn.101d0d90
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x101e1729
mov eax, dword [esp + 0x16c]
mov edx, dword [esp + 0x168]
mov ecx, dword [esp + 0x170]
mov esi, dword [ebx + 0x38]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x144]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x148]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x190]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x194]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x198]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x88], edx
mov edx, eax
mov ecx, esi
shrd ecx, edx, 0x1c
and cl, 1
mov byte [esp + 0x8d], cl
mov ecx, esi
shrd ecx, eax, 0x1b
and cl, 1
shr edx, 0x1c
mov byte [esp + 0x8c], cl
mov ecx, dword [esp + 0x1c]
mov ecx, dword [ecx + 0x5c]
lea edx, [esp + 0x50]
shr eax, 0x1b
push edx
lea eax, [esp + 0x5ac]
push eax
call fcn.101ca740
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x130]
cmp eax, 0x73
mov byte [esp + 0x43], 0
je 0x101e1760
cmp eax, 0x78
je 0x101e1760
push 0x102162b0
lea eax, [esp + 0x124]
push eax
mov ecx, edi
call fcn.101cedd0
cmp al, 1
je 0x101e1760
mov byte [esp + 0x43], 1
mov esi, dword [ebx + 0x1c0]
mov ecx, dword [ebx + 0x1c4]
mov edx, dword [ebx + 0x1c8]
and esi, 0xf
shl esi, 4
and ecx, 0xf
or esi, ecx
shl esi, 4
and edx, 0xf
or esi, edx
and esi, 0xffff0fff
cmp byte [esp + 0x43], 0
jne 0x101e17d4
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
mov ecx, eax
shl ecx, 0xc
mov edx, eax
shl edx, 0xc
not edx
not ecx
and edx, 0x2000
and ecx, 0x4000
or ecx, edx
mov edx, eax
shl edx, 0xc
shl eax, 0xc
not edx
and edx, 0x1000
not eax
or ecx, edx
and eax, 0x8000
or ecx, eax
or esi, ecx
test byte [esp + 0x10], 1
mov dword [esp + 0xe4], esi
je 0x101e190c
test esi, esi
je 0x101e190c
cmp dword [edi + 0xbc], 0xffff0000
jne 0x101e18c9
lea eax, [edi + 0xb8]
push eax
lea eax, [esp + 0x5b4]
push eax
mov ecx, edi
call fcn.101cf1f0
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
mov byte [esp + 0x17], 1
je 0x101e18c9
mov eax, dword [esp + 0x1c]
mov edx, dword [eax + 0xb8]
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x6c8]
rep movsd dword es:[edi], dword [esi]
xor ecx, ecx
mov dword [esp + 0x6c8], edx
mov edx, dword [eax + 0xbc]
mov dword [esp + 0x6d4], ecx
mov dword [esp + 0x6ec], ecx
mov dword [esp + 0x6cc], edx
mov edx, dword [eax + 0xc0]
mov dword [esp + 0x6d0], edx
lea ecx, [eax + 0x64]
mov edx, dword [ecx]
mov dword [esp + 0x6e0], edx
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0x6e4], edx
mov dword [esp + 0x6e8], ecx
lea edx, [esp + 0x6c8]
push edx
lea ecx, [esp + 0x5bc]
push ecx
mov ecx, dword [eax + 0x5c]
mov dword [esp + 0x750], 1
call fcn.101ca740
mov edx, dword [eax]
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0xe4]
mov dword [esp + 0x10], edx
test byte [esp + 0x10], 1
mov dword [edi + 0xc0], 2
je 0x101e1902
push 1
push 0
push 0
push 0
push 0
push esi
lea eax, [edi + 0xb8]
push eax
lea ecx, [esp + 0x5dc]
push ecx
mov ecx, dword [edi + 0x5c]
call fcn.101cb370
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov dword [edi + 0xc0], 0
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
je 0x101e1946
lea ecx, [esp + 0xe8]
push ecx
push ebx
mov ecx, edi
call fcn.101ceeb0
test byte [esp + 0x10], 1
je 0x101e1946
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x5cc]
push eax
mov ecx, edi
call fcn.101cf1f0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x43], 0
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
je 0x101e19a1
mov esi, dword [esp + 0x1c]
lea edx, [esp + 0x110]
push edx
lea eax, [esp + 0x5d4]
push eax
mov ecx, esi
call fcn.101cf1f0
mov ecx, dword [eax]
mov edx, dword [esp + 0x110]
mov eax, dword [esp + 0x114]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
jmp 0x101e19eb
mov edx, dword [ebx]
shr edx, 0xe
test dl, 1
je 0x101e19b9
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
jmp 0x101e19ce
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 4]
shr eax, 0x13
and eax, 0xf
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], edx
mov dword [esp + 0x60], eax
mov ecx, dword [ebx + 4]
shr ecx, 0x17
and cl, 1
cmp dword [esp + 0xe4], 0
lea edx, [esi + 0x64]
mov eax, dword [edx]
mov byte [esp + 0x64], cl
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x5c], 0
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
je 0x101e1a4f
lea eax, [esi + 0xb8]
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov edx, dword [edx + 8]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
test byte [esp + 0x10], 1
mov edi, dword [esp + 0x11c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], edx
mov dword [esp + 0x74], 0
mov dword [esp + 0xbc], edi
je 0x101e1be4
mov eax, dword [esp + 0x130]
cmp eax, 0x6e
je 0x101e1bb7
cmp eax, 0x76
je 0x101e1bb7
mov ecx, dword [esi + 8]
mov eax, dword [ecx]
call dword [eax + 0xc]
test byte [eax + 0x17], 8
je 0x101e1b88
mov ecx, dword [ebx + 4]
shr ecx, 0x17
and cl, 1
lea edx, [esp + 0x14c]
lea eax, [esp + 0x1cc]
push ecx
mov ecx, dword [esp + 0xfc]
push edi
push edx
mov edx, dword [esp + 0x108]
push eax
push 0
push ecx
mov ecx, dword [esi + 0x5c]
push edx
lea eax, [esp + 0x5f4]
push eax
call fcn.101cc420
mov eax, dword [eax]
test al, 1
mov dword [esp + 0x10], eax
je 0x101e1be4
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x168], ecx
mov ecx, dword [ebx + 4]
mov dword [esp + 0x16c], edx
mov edx, dword [ebx]
shr ecx, 0x13
and ecx, 0xf
shr edx, 0xe
test dl, 1
mov dword [esp + 0x170], eax
mov dword [esp + 0x18], ecx
je 0x101e1b5c
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
mov dword [esp + 0x170], edx
mov dword [esp + 0x18], 0xf
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x170]
push edx
lea eax, [esp + 0x5ec]
push eax
mov ecx, esi
call fcn.101d0ab0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x101e1be4
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xfc]
lea edx, [esp + 0x50]
push edx
push 0
push eax
push ecx
mov ecx, dword [esi + 0x5c]
lea edx, [esp + 0x5f8]
push edx
call fcn.101cc1b0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x101e1be4
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0xfc]
lea ecx, [esp + 0x50]
push ecx
push 0
push edx
push eax
lea ecx, [esp + 0x600]
push ecx
mov ecx, dword [esi + 0x5c]
call fcn.101cbf40
mov edx, dword [eax]
mov dword [esp + 0x10], edx
cmp byte [esp + 0x43], 0
je 0x101e1cd0
test byte [esp + 0x10], 1
je 0x101e1d2f
mov eax, dword [ebx]
shr eax, 0xe
test al, 1
mov ecx, 0x22
mov esi, 0x102162d0
lea edi, [esp + 0x50]
rep movsd dword es:[edi], dword [esi]
je 0x101e1c21
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x4c]
jmp 0x101e1c36
mov ecx, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebx + 4]
shr ecx, 0x13
and ecx, 0xf
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x110]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x60], ecx
mov ecx, dword [esp + 0x118]
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x12c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
lea eax, [esp + 0x50]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x5fc]
push ecx
mov ecx, dword [edx + 0x5c]
mov dword [esp + 0x7c], 7
call fcn.101ca740
mov eax, dword [eax]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x10], eax
test byte [esp + 0x10], 1
je 0x101e1d2f
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je 0x101e1d2f
mov eax, dword [ebx + 0x30]
mov ecx, dword [ebx + 0x34]
mov edx, dword [ebx + 4]
shrd eax, ecx, 0x1b
and al, 1
shr edx, 0x13
push 1
and edx, 0xf
mov dword [esp + 0x1c], edx
lea edx, [esp + 0xec]
shr ecx, 0x1b
push eax
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x54]
push ecx
lea edx, [esp + 0xec]
push edx
lea eax, [esp + 0x190]
push eax
mov ecx, esi
call fcn.101d28b0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
cmp byte [esp + 0x17], 0
je 0x101e1d79
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0xa8], 0
jne 0x101e1d4b
cmp dword [eax + 0xac], 0
je 0x101e1d79
mov edx, dword [esi + 0xbc]
push edx
mov ecx, esi
call fcn.101e55a0
mov ecx, dword [0x102162c4]
mov edx, dword [0x102162c8]
lea eax, [esi + 0xb8]
mov dword [eax], ecx
mov ecx, dword [0x102162cc]
mov dword [eax + 4], edx
mov dword [eax + 8], ecx
mov eax, dword [esp + 0x138]
mov edi, 0xffff0000
cmp eax, edi
jne 0x101e1d92
cmp dword [esp + 0x13c], edi
je 0x101e1d9a
push eax
mov ecx, esi
call fcn.101e55a0
mov eax, dword [esp + 0x114]
cmp eax, edi
jne 0x101e1dae
cmp dword [esp + 0x118], edi
je 0x101e1db6
push eax
mov ecx, esi
call fcn.101e55a0
mov edi, dword [esp + 0x1d0]
cmp edi, 0xffff0000
jne 0x101e1dce
cmp dword [esp + 0x1d4], edi
je 0x101e1df7
push edi
mov ecx, esi
call fcn.101e55a0
lea edx, [edi + 1]
push edx
mov ecx, esi
call fcn.101e55a0
lea eax, [edi + 2]
push eax
mov ecx, esi
call fcn.101e55a0
add edi, 3
push edi
mov ecx, esi
call fcn.101e55a0
mov ecx, dword [ebx]
shr ecx, 0xe
test cl, 1
je case.0x101d79fa.5
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x1c]
push edx
call fcn.101e55a0
jmp case.0x101d79fa.5
mov eax, dword [esp + 0x10]
and al, 0xfe
or al, 2
mov dword [esp + 0x10], eax
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x1c]
and edi, 1
mov dword [esp + 0xfc], edi
je 0x101e1f4c
mov ecx, dword [ebx]
and ecx, 0xff
push ecx
mov ecx, esi
call fcn.101e5610
test al, al
je 0x101e1ec0
mov edx, dword [esi + 0x5c]
cmp dword [edx + 0xac], 0
jne 0x101e1ec0
lea eax, [esi + 0x190]
cmp dword [esi + 0x19c], eax
je 0x101e1ec0
jmp 0x101e1e70
mov eax, dword [esi + 0x19c]
lea ecx, [esi + 0x190]
xor edi, edi
cmp eax, ecx
je 0x101e1e99
mov edi, dword [eax + 8]
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x188]
mov dword [esp + 0x1c], eax
call fcn.100a4850
cmp byte [edi + esi + 0xd0], 1
jne 0x101e1eab
mov byte [edi + esi + 0xd0], 0
lea eax, [esi + 0x190]
cmp dword [esi + 0x19c], eax
jne 0x101e1e70
mov edi, dword [esp + 0xfc]
mov eax, dword [esp + 0x1bc]
test eax, eax
je 0x101e1ee0
mov eax, dword [eax + 4]
cmp byte [eax + esi + 0xd0], 1
jne 0x101e1ee0
mov byte [eax + esi + 0xd0], 0
mov eax, dword [esp + 0x1c0]
test eax, eax
je 0x101e1f00
mov eax, dword [eax + 4]
cmp byte [eax + esi + 0xd0], 1
jne 0x101e1f00
mov byte [eax + esi + 0xd0], 0
mov eax, dword [esp + 0x19c]
test eax, eax
je 0x101e1f20
mov eax, dword [eax + 4]
cmp byte [eax + esi + 0xd0], 1
jne 0x101e1f20
mov byte [eax + esi + 0xd0], 0
mov eax, dword [esp + 0x1c8]
test eax, eax
je 0x101e1f36
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.101e55a0
mov eax, dword [esp + 0x1c4]
test eax, eax
je 0x101e1f4c
mov edx, dword [eax + 4]
push edx
mov ecx, esi
call fcn.101e55a0
test edi, edi
je 0x101e1fb2
mov edi, dword [esp + 0x17c]
test edi, edi
je 0x101e1fb2
lea eax, [ebx + 4]
push eax
mov ecx, esi
call fcn.101e5770
test al, al
je 0x101e1f8c
lea ecx, [esp + 0xd8]
push ecx
push 0
push ebx
lea edx, [esp + 0x184]
push edx
mov ecx, esi
call fcn.101d4ae0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x101e1fa7
push 1
push edi
push 0
push ebx
lea ecx, [esp + 0x188]
push ecx
mov ecx, esi
call fcn.101d52e0
mov edx, dword [eax]
mov dword [esp + 0x10], edx
mov eax, dword [edi + 4]
push eax
mov ecx, esi
call fcn.101e55a0
test byte [esp + 0x10], 1
je 0x101e2182
mov edi, dword [esp + 0x174]
test edi, edi
je 0x101e201d
lea ecx, [ebx + 8]
push ecx
mov ecx, esi
call fcn.101e5770
test al, al
mov ecx, esi
je 0x101e1ff9
lea edx, [esp + 0x1b0]
push edx
push 1
push ebx
lea eax, [esp + 0x184]
push eax
call fcn.101d4ae0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x101e2012
push 0
push edi
push 1
push ebx
lea edx, [esp + 0x188]
push edx
call fcn.101d52e0
mov eax, dword [eax]
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 4]
push ecx
mov ecx, esi
call fcn.101e55a0
test byte [esp + 0x10], 1
je 0x101e2182
cmp byte [esi + 0x2c4], 0
je 0x101e2182
cmp byte [esi + 0x314], 0
je 0x101e2182
mov edi, dword [ebx]
and edi, 0xff
push edi
mov ecx, esi
call fcn.101e55c0
test al, al
je 0x101e2072
mov eax, dword [esi + 0x370]
test eax, eax
jne 0x101e2067
add dword [esi + 0x36c], 1
add eax, 1
mov dword [esi + 0x370], eax
jmp 0x101e2085
push edi
mov ecx, esi
call fcn.101e5610
test al, al
je 0x101e2085
add dword [esi + 0x370], 0xffffffff
mov ecx, ebx
mov dword [esp + 0x174], 0
call fcn.10056e10
test eax, eax
jbe 0x101e2182
lea edx, [ebx + 4]
mov dword [esp + 0xe4], edx
lea esp, [esp]
mov eax, dword [esp + 0xe4]
push eax
mov ecx, esi
call fcn.101e5730
test al, al
je 0x101e215a
mov ecx, dword [esp + 0xe4]
mov edi, dword [ecx]
mov eax, dword [esi + 0x33c]
lea ecx, [esi + 0x334]
and edi, 0x7fff
test eax, eax
je 0x101e20f0
cmp edi, dword [ecx + 0xc]
jae 0x101e20f0
mov eax, dword [eax + edi*4]
jmp 0x101e20f2
xor eax, eax
add eax, 1
push eax
push edi
mov dword [esp + 0x184], eax
call fcn.10089130
test byte [esp + 0x10], 1
je 0x101e215a
cmp byte [esi + 0x3c8], 0
je 0x101e215a
mov eax, dword [esi + 0x5c]
cmp dword [eax + 0xa8], 0
jne 0x101e215a
cmp dword [eax + 0xac], 0
jne 0x101e215a
push edi
lea ecx, [esi + 0x350]
call fcn.1005d3e0
cmp eax, dword [esi + 0x36c]
ja 0x101e215a
mov edx, dword [esp + 0x17c]
push edx
push edi
lea eax, [esp + 0x138]
push eax
mov ecx, esi
call fcn.101d61a0
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov edi, dword [esp + 0x174]
add dword [esp + 0xe4], 4
add edi, 1
mov ecx, ebx
mov dword [esp + 0x174], edi
call fcn.10056e10
cmp edi, eax
jb 0x101e20b0
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x93c]
pop edi
pop esi
mov dword [eax], edx
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc