Function at 0x4cdd51
Capabilities:
Check for software breakpoints

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff0
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xfffffffffffffffe
push 0x4fbe10
push 0x480db0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ecx
sub esp, 0x334
mov eax, dword [0x4ff290]
xor dword [ebp - 8], eax
xor eax, ebp
mov dword [ebp - 0x24], eax
push esi
push edi
push eax
lea eax, [ebp - 0x10]
mov dword fs:[0], eax
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x24c], 0xffffffff
mov byte [ebp - 0x21d], 0
mov dword [ebp - 0x214], 0
mov dword [ebp - 0x27c], 0
mov dword [ebp - 0x25c], 0
mov dword [ebp - 0x244], 0
mov byte [ebp - 0x289], 0
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax]
mov dword [ebp - 0x324], ecx
mov edx, dword [ebp - 0x324]
add edx, 0x14
mov dword [ebp - 0x2b4], edx
mov eax, 4
imul eax, eax, 0
mov ecx, dword [ebp - 0x2b4]
cmp dword [ecx + eax], 0
je 0x4cdb9b
mov edx, 4
imul edx, edx, 0
mov eax, dword [ebp - 0x2b4]
mov ecx, dword [eax + edx]
push ecx
call dword [ebx + 0x10]
add esp, 4
jmp 0x4cfbdc
mov edx, dword [ebx + 0xc]
mov eax, dword [edx + 4]
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
and edx, 0x10020
cmp edx, 0x10020
je 0x4cdbed
xor eax, eax
jne 0x4cdbe4
push 0
push 0x4ea5fc
push 0
push 0x3c1
push 0x4faae8
push 2
call fcn.00481bd0
add esp, 0x18
cmp eax, 1
jne 0x4cdbe4
int3
xor eax, eax
jmp 0x4cfbdc
mov edx, 1
imul edx, edx, 0
mov eax, dword [ebp - 0x21c]
lea ecx, [eax + edx + 0xcc]
mov dword [ebp - 0x23c], ecx
mov edx, 0x10
imul edx, edx, 0
mov eax, dword [ebp - 0x23c]
lea ecx, [eax + edx + 0xa0]
mov dword [ebp - 0x344], ecx
mov edx, dword [ebp - 0x23c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x210], 0
mov dword [ebp - 0x25c], 0
mov byte [ebp - 0x1f2], 0
mov dword [ebp - 4], 0
mov byte [ebp - 0x216], 1
mov byte [ebp - 0x1f1], 0
mov byte [ebp - 0x20a], 0
mov cl, byte [ebp - 0x20a]
mov byte [ebp - 0x217], cl
mov edx, dword [ebp - 0x21c]
mov eax, dword [edx + 0xb8]
mov dword [ebp - 0x208], eax
movzx ecx, byte [ebp - 0x216]
test ecx, ecx
je 0x4cdfde
mov edx, dword [ebp - 0x208]
mov al, byte [edx]
mov byte [ebp - 0x215], al
mov ecx, dword [ebp - 0x208]
add ecx, 1
mov dword [ebp - 0x208], ecx
movzx edx, byte [ebp - 0x215]
mov dword [ebp - 0x278], edx
mov eax, dword [ebp - 0x278]
sub eax, 0x26
mov dword [ebp - 0x278], eax
cmp dword [ebp - 0x278], 0xcd
ja case.0x4cdcec.1
mov ecx, dword [ebp - 0x278]
movzx edx, byte [ecx + 0x4cfc1c]
jmp dword [edx*4 + 0x4cfbfc]
mov byte [ebp - 0x1f1], 1
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
jmp 0x4cdfd9
mov dword [ebp - 0x210], 1
mov ecx, dword [ebp - 0x214]
add ecx, 1
mov dword [ebp - 0x214], ecx
jmp 0x4cdfd9
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
mov edx, dword [ebp - 0x214]
add edx, 1
mov dword [ebp - 0x214], edx
jmp 0x4cdfd9
mov byte [ebp - 0x1f2], 1
jmp 0x4cdfd9
mov byte [ebp - 0x20a], 1
mov eax, dword [ebp - 0x208]
mov cl, byte [eax]
mov byte [ebp - 0x201], cl
mov edx, dword [ebp - 0x208]
add edx, 1
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
mov cl, byte [eax]
mov byte [ebp - 0x209], cl
mov edx, dword [ebp - 0x208]
add edx, 1
mov dword [ebp - 0x208], edx
movzx eax, byte [ebp - 0x209]
and eax, 3
cmp eax, 1
jne 0x4cddb7
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x209]
and ecx, 3
cmp ecx, 2
jne 0x4cddcd
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x209]
and edx, 3
cmp edx, 3
jne 0x4cdded
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x209]
and eax, 4
je 0x4cde05
mov dword [ebp - 0x2c0], 1
jmp 0x4cde0f
mov dword [ebp - 0x2c0], 0
mov cl, byte [ebp - 0x2c0]
mov byte [ebp - 0x21d], cl
movzx edx, byte [ebp - 0x209]
sar edx, 3
and edx, 0xf
xor edx, 0xf
mov dword [ebp - 0x2c4], edx
movzx eax, byte [ebp - 0x209]
sar eax, 7
mov dword [ebp - 0x350], eax
movzx ecx, byte [ebp - 0x201]
and ecx, 0xf
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x30c]
mov dword [ebp - 0x29c], edx
cmp dword [ebp - 0x29c], 1
je 0x4cde7a
cmp dword [ebp - 0x29c], 2
je 0x4cde83
cmp dword [ebp - 0x29c], 3
je 0x4cde8c
jmp 0x4cde95
mov byte [ebp - 0x20b], 0xf
jmp 0x4cded8
mov byte [ebp - 0x20b], 0x38
jmp 0x4cded8
mov byte [ebp - 0x20b], 0x3a
jmp 0x4cded8
xor eax, eax
jne 0x4cdebc
push 0
push 0x4ea5fc
push 0
push 0x43d
push 0x4faae8
push 2
call fcn.00481bd0
add esp, 0x18
cmp eax, 1
jne 0x4cdebc
int3
mov dword [ebp - 0x338], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x338]
jmp 0x4cfbdc
mov edx, dword [ebp - 0x214]
add edx, 2
mov dword [ebp - 0x214], edx
mov byte [ebp - 0x216], 0
jmp 0x4cdfd9
mov byte [ebp - 0x217], 1
mov eax, dword [ebp - 0x208]
mov cl, byte [eax]
mov byte [ebp - 0x201], cl
mov edx, dword [ebp - 0x208]
add edx, 1
mov dword [ebp - 0x208], edx
movzx eax, byte [ebp - 0x201]
and eax, 3
cmp eax, 1
jne 0x4cdf30
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x201]
and ecx, 3
cmp ecx, 2
jne 0x4cdf46
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x201]
and edx, 3
cmp edx, 3
jne 0x4cdf66
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x201]
and eax, 4
je 0x4cdf7e
mov dword [ebp - 0x2d4], 1
jmp 0x4cdf88
mov dword [ebp - 0x2d4], 0
mov cl, byte [ebp - 0x2d4]
mov byte [ebp - 0x21d], cl
movzx edx, byte [ebp - 0x201]
sar edx, 3
and edx, 0xf
xor edx, 0xf
mov dword [ebp - 0x2c4], edx
mov byte [ebp - 0x20b], 0xf
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
mov byte [ebp - 0x216], 0
jmp 0x4cdfd9
mov byte [ebp - 0x1f2], 1
jmp 0x4cdfd9
mov byte [ebp - 0x216], 0
jmp 0x4cdc87
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ce073
movzx eax, byte [ebp - 0x1f2]
test eax, eax
je 0x4ce0ac
xor ecx, ecx
jne 0x4ce0a5
push 0
push 0x4ea5fc
push 0
push 0x47b
push 0x4faae8
push 2
call fcn.00481bd0
add esp, 0x18
cmp eax, 1
jne 0x4ce0a5
int3
xor eax, eax
jmp 0x4cfbdc
mov dword [ebp - 4], 1
mov eax, dword [ebp - 0x208]
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
and edx, 0xf
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax]
shr ecx, 4
and ecx, 0xf
mov dword [ebp - 0x270], ecx
movzx edx, byte [ebp - 0x217]
test edx, edx
jne 0x4ce0fa
movzx eax, byte [ebp - 0x20a]
test eax, eax
je 0x4ce12e
movzx ecx, byte [ebp - 0x20b]
cmp ecx, 0xf
je 0x4ce120
mov dword [ebp - 0x270], 3
movzx edx, byte [ebp - 0x20b]
and edx, 0xf
mov dword [ebp - 0x254], edx
mov eax, dword [ebp - 0x2c4]
mov dword [ebp - 0x244], eax
jmp 0x4ce15a
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
shr edx, 0xb
and edx, 7
mov dword [ebp - 0x244], edx
movzx eax, byte [ebp - 0x215]
cmp eax, 0xf
je 0x4ce15a
mov byte [ebp - 0x1f2], 1
jmp 0x4ce937
mov ecx, dword [ebp - 0x270]
mov dword [ebp - 0x268], ecx
mov edx, dword [ebp - 0x268]
sub edx, 2
mov dword [ebp - 0x268], edx
cmp dword [ebp - 0x268], 0xc
ja case.0x4ce188.2
mov eax, dword [ebp - 0x268]
jmp dword [eax*4 + 0x4cfcec]
mov dword [ebp - 0x234], 0x4f9f18
jmp 0x4ce2eb
mov dword [ebp - 0x234], 0x4fa018
jmp 0x4ce2eb
mov dword [ebp - 0x234], 0x4fa118
jmp 0x4ce2eb
mov dword [ebp - 0x234], 0x4fa418
jmp 0x4ce2eb
mov dword [ebp - 0x234], 0x4fa218
movzx ecx, byte [ebp - 0x1f1]
test ecx, ecx
je 0x4ce1ea
mov dword [ebp - 0x210], 0
jmp 0x4ce2eb
mov dword [ebp - 0x234], 0x4fa318
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4ce20e
mov dword [ebp - 0x210], 0
jmp 0x4ce2eb
cmp dword [ebp - 0x254], 0xa
jne 0x4ce2d1
mov dword [ebp - 0x25c], 1
movzx eax, byte [ebp - 0x217]
movzx ecx, byte [ebp - 0x20a]
or eax, ecx
jne 0x4ce25a
mov edx, dword [ebp - 0x208]
add edx, 1
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x224], ecx
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
and eax, 0xf
mov dword [ebp - 0x254], eax
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
shr edx, 4
and edx, 0xf
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x2ac], eax
cmp dword [ebp - 0x2ac], 0
je 0x4ce2ab
cmp dword [ebp - 0x2ac], 4
je 0x4ce2b7
jmp 0x4ce2c3
mov dword [ebp - 0x234], 0x4fa518
jmp 0x4ce2cf
mov dword [ebp - 0x234], 0x4fa598
jmp 0x4ce2cf
mov byte [ebp - 0x1f2], 1
jmp 0x4ce937
jmp 0x4ce2dd
mov byte [ebp - 0x1f2], 1
jmp 0x4ce937
jmp 0x4ce2eb
mov byte [ebp - 0x1f2], 1
jmp 0x4ce937
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
shr edx, 0xe
and edx, 3
cmp edx, 3
jne 0x4ce30a
mov dword [ebp - 0x2c8], 0
jmp 0x4ce314
mov dword [ebp - 0x2c8], 1
mov al, byte [ebp - 0x2c8]
mov byte [ebp - 0x22d], al
movzx ecx, byte [ebp - 0x22d]
shl ecx, 4
or ecx, dword [ebp - 0x254]
mov dword [ebp - 0x1f8], ecx
cmp dword [ebp - 0x1f8], 0x20
jbe 0x4ce34b
mov byte [ebp - 0x1f2], 1
jmp 0x4ce937
cmp dword [ebp - 0x25c], 1
jne 0x4ce491
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x234]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x6b
je 0x4ce3a5
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4ce3a5
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
jne 0x4ce3b1
mov dword [ebp - 0x210], 1
jmp 0x4ce401
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x46
je 0x4ce3e9
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x47
je 0x4ce3e9
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x48
jne 0x4ce3f5
mov dword [ebp - 0x210], 0
jmp 0x4ce401
mov byte [ebp - 0x1f2], 1
jmp 0x4ce937
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x6b
je 0x4ce44b
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x46
je 0x4ce44b
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
je 0x4ce44b
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x48
jne 0x4ce454
mov byte [ebp - 0x1f1], 0
jmp 0x4ce48f
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4ce47a
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x47
jne 0x4ce483
mov byte [ebp - 0x1f1], 1
jmp 0x4ce48f
mov byte [ebp - 0x1f2], 1
jmp 0x4ce937
jmp 0x4ce4af
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x210]
lea ecx, [eax + edx*2]
mov edx, dword [ebp - 0x234]
lea eax, [edx + ecx*4]
mov dword [ebp - 0x1fc], eax
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
jne 0x4ce4cd
mov byte [ebp - 0x1f2], 1
jmp 0x4ce937
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0xc
and ecx, 0x1f
cmp ecx, 0x1e
jne 0x4ce534
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4ce508
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x4fa69c]
mov dword [ebp - 0x1fc], edx
jmp 0x4ce523
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x4fa698]
mov dword [ebp - 0x1fc], edx
mov byte [ebp - 0x1f1], 0
mov dword [ebp - 0x210], 2
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x43
je 0x4ce56c
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x44
je 0x4ce56c
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x45
jne 0x4ce573
mov byte [ebp - 0x1f1], 0
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x68
je 0x4ce5ab
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x69
je 0x4ce5ab
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6a
jne 0x4ce5b5
mov dword [ebp - 0x210], 1
cmp dword [ebp - 0x25c], 0
jne 0x4ce5dd
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
movzx edx, byte [ebp - 0x1f1]
add ecx, edx
mov dword [ebp - 0x1c8], ecx
jmp 0x4ce5f1
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
mov dword [ebp - 0x1c8], ecx
movzx edx, byte [ebp - 0x217]
test edx, edx
jne 0x4ce607
movzx eax, byte [ebp - 0x20a]
test eax, eax
je case.0x4ce640.1
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x26c]
sub eax, 0x33
mov dword [ebp - 0x26c], eax
cmp dword [ebp - 0x26c], 0x38
ja case.0x4ce640.1
mov ecx, dword [ebp - 0x26c]
movzx edx, byte [ecx + 0x4cfd28]
jmp dword [edx*4 + 0x4cfd20]
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax]
shr ecx, 0xb
and ecx, 7
mov dword [ebp - 0x244], ecx
mov edx, dword [ebp - 0x214]
add edx, 3
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x238], 0
movzx eax, byte [ebp - 0x21d]
test eax, eax
je 0x4ce85b
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
and edx, 0x10040
cmp edx, 0x10040
jne 0x4ce85b
push str.GetEnabledXStateFeatures
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x31c], eax
push str.GetXStateFeaturesMask
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x334], eax
push str.LocateXStateFeature
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0
jne 0x4ce740
xor eax, eax
jne 0x4ce724
push 0
push 0x4ea5fc
push 0
push 0x5de
push 0x4faae8
push 2
call fcn.00481bd0
add esp, 0x18
cmp eax, 1
jne 0x4ce724
int3
mov dword [ebp - 0x33c], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x33c]
jmp 0x4cfbdc
call dword [ebp - 0x31c]
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov edx, dword [ebp - 0x308]
and edx, 4
mov eax, dword [ebp - 0x304]
and eax, 0
mov dword [ebp - 0x330], edx
mov dword [ebp - 0x32c], eax
mov ecx, dword [ebp - 0x330]
or ecx, dword [ebp - 0x32c]
jne 0x4ce7c1
xor edx, edx
jne 0x4ce7a5
push 0
push 0x4ea5fc
push 0
push 0x5e9
push 0x4faae8
push 2
call fcn.00481bd0
add esp, 0x18
cmp eax, 1
jne 0x4ce7a5
int3
mov dword [ebp - 0x318], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x318]
jmp 0x4cfbdc
lea ecx, [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
call dword [ebp - 0x334]
test eax, eax
jne 0x4ce81c
xor eax, eax
jne 0x4ce800
push 0
push 0x4ea5fc
push 0
push 0x5f3
push 0x4faae8
push 2
call fcn.00481bd0
add esp, 0x18
cmp eax, 1
jne 0x4ce800
int3
mov dword [ebp - 0x320], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x320]
jmp 0x4cfbdc
lea edx, [ebp - 0x354]
push edx
push 1
mov eax, dword [ebp - 0x21c]
push eax
call dword [ebp - 0x290]
mov dword [ebp - 0x228], eax
push 0
push 2
mov ecx, dword [ebp - 0x21c]
push ecx
call dword [ebp - 0x290]
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x280], 2
jmp 0x4ce871
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x280], 1
movzx eax, byte [ebp - 0x22d]
test eax, eax
je 0x4ce8e2
mov ecx, dword [ebp - 0x224]
mov dword [ebp - 0x208], ecx
mov edx, dword [ebp - 0x208]
add edx, 1
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
mov cl, byte [eax]
mov byte [ebp - 0x215], cl
mov edx, dword [ebp - 0x208]
add edx, 1
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
push eax
mov ecx, dword [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x284]
push edx
movzx eax, byte [ebp - 0x215]
mov ecx, dword [eax*4 + 0x4fa6e8]
call ecx
add esp, 0xc
mov dword [ebp - 0x27c], eax
mov edx, dword [ebp - 0x214]
add edx, dword [ebp - 0x27c]
mov dword [ebp - 0x214], edx
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x16
and ecx, 7
cmp ecx, 1
jne 0x4ce937
mov edx, dword [ebp - 0x208]
add edx, dword [ebp - 0x27c]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
movzx ecx, byte [eax]
mov dword [ebp - 0x1c4], ecx
mov edx, dword [ebp - 0x214]
add edx, 1
mov dword [ebp - 0x214], edx
mov dword [ebp - 4], 0xfffffffe
jmp 0x4ce9cc
mov dword [ebp - 0x248], 0
jmp 0x4ce9e7
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x280]
jge 0x4cfaa2
cmp dword [ebp - 0x248], 0
je 0x4ceafc
mov dword [ebp - 0x200], 0
jmp 0x4cea21
mov ecx, dword [ebp - 0x200]
add ecx, 1
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 8
jge 0x4ceae8
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x228]
mov esi, dword [ecx + edx]
mov dword [ebp + eax - 0xb0], esi
mov edx, dword [ecx + edx + 4]
mov dword [ebp + eax - 0xac], edx
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x200]
shl ecx, 4
mov edx, dword [ebp - 0x228]
mov esi, dword [edx + eax + 8]
mov dword [ebp + ecx - 0xa8], esi
mov eax, dword [edx + eax + 0xc]
mov dword [ebp + ecx - 0xa4], eax
mov ecx, dword [ebp - 0x200]
shl ecx, 4
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 0x228]
mov esi, dword [ebp - 0x238]
mov edi, dword [esi + ecx]
mov dword [eax + edx], edi
mov ecx, dword [esi + ecx + 4]
mov dword [eax + edx + 4], ecx
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp - 0x238]
mov edi, dword [esi + edx + 8]
mov dword [ecx + eax + 8], edi
mov edx, dword [esi + edx + 0xc]
mov dword [ecx + eax + 0xc], edx
jmp 0x4cea12
mov eax, dword [ebp - 0x284]
add eax, 0x10
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x10], eax
jmp 0x4ceb0b
mov edx, dword [ebp - 0x23c]
mov eax, dword [ebp - 0x284]
mov dword [edx + 0x10], eax
mov ecx, dword [ebp - 0x244]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
lea eax, [ebp - 0x1b0]
push eax
mov ecx, dword [ebp - 0x244]
push ecx
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
shr eax, 0xc
and eax, 0x1f
push eax
movzx ecx, byte [ebp - 0x1f1]
push ecx
call fcn.004ccd40
add esp, 0x18
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
shr eax, 0xc
and eax, 0x1f
cmp eax, 0x1f
jne 0x4cebb5
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
shr edx, 8
and edx, 7
push edx
mov eax, dword [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x1b0]
push ecx
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
shr eax, 8
and eax, 7
push eax
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
shr edx, 0x11
and edx, 0x1f
push edx
movzx eax, byte [ebp - 0x1f1]
push eax
call fcn.004ccd40
add esp, 0x18
mov ecx, dword [ebp - 0x160]
and ecx, 0xfffffffe
mov dword [ebp - 0x160], ecx
jmp 0x4cec00
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
shr eax, 8
and eax, 7
push eax
mov ecx, dword [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x180]
push edx
mov eax, dword [ebp - 0x224]
mov ecx, dword [eax]
shr ecx, 8
and ecx, 7
push ecx
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
shr eax, 0x11
and eax, 0x1f
push eax
movzx ecx, byte [ebp - 0x1f1]
push ecx
call fcn.004ccd40
add esp, 0x18
mov edx, dword [ebp - 0x224]
mov eax, dword [edx]
shr eax, 0xb
and eax, 7
push eax
mov ecx, dword [ebp - 0x21c]
push ecx
lea edx, [ebp - 0x150]
push edx
mov eax, dword [ebp - 0x244]
push eax
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
shr edx, 0x19
and edx, 0x1f
push edx
movzx eax, byte [ebp - 0x1f1]
push eax
call fcn.004ccd40
add esp, 0x18
movzx ecx, byte [ebp - 0x1f2]
test ecx, ecx
je 0x4cec7c
xor edx, edx
jne 0x4cec75
push 0
push 0x4ea5fc
push 0
push 0x667
push 0x4faae8
push 2
call fcn.00481bd0
add esp, 0x18
cmp eax, 1
jne 0x4cec75
int3
xor eax, eax
jmp 0x4cfbdc
mov ecx, dword [ebp - 0x23c]
movzx edx, word [ecx]
and edx, 0x300
mov dword [ebp - 0x294], edx
je 0x4cecc5
cmp dword [ebp - 0x294], 0x200
je 0x4cecb9
cmp dword [ebp - 0x294], 0x300
je 0x4cecad
jmp 0x4ceccf
mov dword [ebp - 0x2e8], 0
jmp 0x4ceccf
mov dword [ebp - 0x2e8], 1
jmp 0x4ceccf
mov dword [ebp - 0x2e8], 2
mov eax, dword [ebp - 0x23c]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x250], ecx
mov edx, dword [ebp - 0x250]
shr edx, 0xd
and edx, 3
and edx, 3
mov dword [ebp - 0x2cc], edx
cmp dword [ebp - 0x2cc], 3
ja case.default.0x4ced02
mov eax, dword [ebp - 0x2cc]
jmp dword [eax*4 + 0x4cfd64]
mov dword [ebp - 0x2ec], 0
jmp case.default.0x4ced02
mov dword [ebp - 0x2ec], 1
jmp case.default.0x4ced02
mov dword [ebp - 0x2ec], 2
jmp case.default.0x4ced02
mov dword [ebp - 0x2ec], 3
mov ecx, dword [ebp - 0x250]
and ecx, 0x1f80
shr ecx, 7
mov dword [ebp - 0x2fc], ecx
mov edx, dword [ebp - 0x250]
shr edx, 0xf
and edx, 1
mov dword [ebp - 0x2f4], edx
mov eax, dword [ebp - 0x250]
shr eax, 6
and eax, 1
mov dword [ebp - 0x2f0], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx + 0xc0]
mov dword [ebp - 0x2e0], edx
mov eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x2e4], eax
lea ecx, [ebp - 0x2f8]
mov dword [ebp - 0x240], ecx
mov edx, dword [ebp - 0x250]
and edx, 0x3f
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x1ec], 0
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x22c], eax
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
shr edx, 0x1e
and edx, 3
add edx, 1
mov dword [ebp - 0x2d0], edx
movzx eax, byte [ebp - 0x1f1]
test eax, eax
je 0x4cedeb
mov dword [ebp - 0x2d0], 1
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x2bc], ecx
cmp dword [ebp - 0x2bc], 0x48
je 0x4cee0b
cmp dword [ebp - 0x2bc], 0x6d
je 0x4cee0b
jmp 0x4cee45
mov edx, dword [ebp - 0x1fc]
push edx
mov eax, dword [ebx + 0x10]
push eax
lea ecx, [ebp - 0x120]
push ecx
lea edx, [ebp - 0x2fc]
push edx
lea eax, [ebp - 0x1f0]
push eax
mov ecx, dword [ebp - 0x210]
push ecx
call fcn.004cc880
add esp, 0x18
mov dword [ebp - 0x24c], eax
jmp 0x4cfa80
mov dword [ebp - 0x1f8], 0
jmp 0x4cee60
mov edx, dword [ebp - 0x1f8]
add edx, 1
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0x2d0]
jae 0x4cfa80
mov dword [ebp - 0x2f8], 0
mov ecx, dword [ebp - 0x11c]
and ecx, 0xfffffffe
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x11c]
and edx, 0xfffffffd
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x11c]
and eax, 0xfffffffb
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp - 0x11c]
and ecx, 0xfffffff7
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x11c]
and edx, 0xffffffef
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp - 0x118]
and eax, 0xfffffffe
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
and ecx, 0xfffffffd
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x118]
and edx, 0xfffffffb
mov dword [ebp - 0x118], edx
mov eax, dword [ebp - 0x118]
and eax, 0xfffffff7
mov dword [ebp - 0x118], eax
mov ecx, dword [ebp - 0x118]
and ecx, 0xffffffef
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x114]
and edx, 0xfffffffe
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x114]
and eax, 0xfffffffd
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
and ecx, 0xfffffffb
mov dword [ebp - 0x114], ecx
mov edx, dword [ebp - 0x114]
and edx, 0xfffffff7
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x114]
and eax, 0xffffffef
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x2ec]
and ecx, 3
mov edx, dword [ebp - 0x120]
and edx, 0xfffffffc
or edx, ecx
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0x2e8]
and eax, 7
shl eax, 2
mov ecx, dword [ebp - 0x120]
and ecx, 0xffffffe3
or ecx, eax
mov dword [ebp - 0x120], ecx
mov edx, dword [ebp - 0x1f8]
push edx
lea eax, [ebp - 0x314]
push eax
mov ecx, dword [ebp - 0x1c8]
push ecx
call fcn.004cd770
add esp, 0xc
movzx edx, al
test edx, edx
je 0x4cefdc
mov eax, dword [ebp - 0x314]
and eax, 0xfff
shl eax, 5
mov ecx, dword [ebp - 0x120]
and ecx, 0xfffe001f
or ecx, eax
mov dword [ebp - 0x120], ecx
jmp 0x4ceffe
mov edx, dword [ebp - 0x1c8]
and edx, 0xfff
shl edx, 5
mov eax, dword [ebp - 0x120]
and eax, 0xfffe001f
or eax, edx
mov dword [ebp - 0x120], eax
mov ecx, dword [ebp - 0x190]
and ecx, 1
and ecx, 1
mov edx, dword [ebp - 0x100]
and edx, 0xfffffffe
or edx, ecx
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x190]
shr eax, 1
and eax, 0xf
and eax, 0xf
shl eax, 1
mov ecx, dword [ebp - 0x100]
and ecx, 0xffffffe1
or ecx, eax
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x2a4], edx
cmp dword [ebp - 0x2a4], 0
je 0x4cf101
cmp dword [ebp - 0x2a4], 1
je 0x4cf063
jmp 0x4cf23c
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*8 - 0x1a0]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + eax*8 - 0x19c]
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x1c8], 0x69
je 0x4cf095
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4cf0fc
cmp dword [ebp - 0x1f8], 1
jne 0x4cf0fc
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*8 - 0x178]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp + eax*8 - 0x174]
mov dword [ebp - 0x10c], edx
mov eax, dword [ebp - 0x160]
and eax, 1
and eax, 1
mov ecx, dword [ebp - 0x100]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebp - 0x100], ecx
mov edx, dword [ebp - 0x160]
shr edx, 1
and edx, 0xf
and edx, 0xf
shl edx, 1
mov eax, dword [ebp - 0x100]
and eax, 0xffffffe1
or eax, edx
mov dword [ebp - 0x100], eax
jmp case.default.0x4cf26d
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x1a0]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4cf12a
cmp dword [ebp - 0x1c8], 0x45
jne 0x4cf237
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 1
je 0x4cf15a
cmp dword [ebp - 0x288], 2
je 0x4cf193
cmp dword [ebp - 0x288], 3
je 0x4cf1e6
jmp 0x4cf237
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x19c]
mov dword [ebp - 0x110], edx
mov eax, dword [ebp - 0x190]
shr eax, 1
and eax, 0xf
and eax, 0xf
shl eax, 1
mov ecx, dword [ebp - 0x100]
and ecx, 0xffffffe1
or ecx, eax
mov dword [ebp - 0x100], ecx
jmp 0x4cf237
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*4 - 0x178]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x160]
and ecx, 1
and ecx, 1
mov edx, dword [ebp - 0x100]
and edx, 0xfffffffe
or edx, ecx
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x160]
shr eax, 1
and eax, 0xf
and eax, 0xf
shl eax, 1
mov ecx, dword [ebp - 0x100]
and ecx, 0xffffffe1
or ecx, eax
mov dword [ebp - 0x100], ecx
jmp 0x4cf237
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*4 - 0x174]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp - 0x160]
and ecx, 1
and ecx, 1
mov edx, dword [ebp - 0x100]
and edx, 0xfffffffe
or edx, ecx
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x160]
shr eax, 1
and eax, 0xf
and eax, 0xf
shl eax, 1
mov ecx, dword [ebp - 0x100]
and ecx, 0xffffffe1
or ecx, eax
mov dword [ebp - 0x100], ecx
jmp case.default.0x4cf26d
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x264], edx
mov eax, dword [ebp - 0x264]
sub eax, 0x5f
mov dword [ebp - 0x264], eax
cmp dword [ebp - 0x264], 8
ja case.default.0x4cf26d
mov ecx, dword [ebp - 0x264]
movzx edx, byte [ecx + 0x4cfd80]
jmp dword [edx*4 + 0x4cfd74]
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x1a0]
xor edx, edx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], edx
jmp case.default.0x4cf26d
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x110], ecx
jmp case.default.0x4cf26d
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*8 - 0x1a0]
mov dword [ebp - 0x110], eax
mov ecx, dword [ebp + edx*8 - 0x19c]
mov dword [ebp - 0x10c], ecx
mov edx, dword [ebp - 0x160]
and edx, 1
je 0x4cf311
mov eax, dword [ebp - 0x160]
and eax, 1
and eax, 1
mov ecx, dword [ebp - 0xe0]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x160]
shr edx, 1
and edx, 0xf
and edx, 0xf
shl edx, 1
mov eax, dword [ebp - 0xe0]
and eax, 0xffffffe1
or eax, edx
mov dword [ebp - 0xe0], eax
jmp 0x4cf320
mov ecx, dword [ebp - 0xe0]
and ecx, 0xfffffffe
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x2a8], edx
cmp dword [ebp - 0x2a8], 0
je 0x4cf3e5
cmp dword [ebp - 0x2a8], 1
je 0x4cf347
jmp 0x4cf53d
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*8 - 0x170]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp + eax*8 - 0x16c]
mov dword [ebp - 0xec], edx
cmp dword [ebp - 0x1c8], 0x69
je 0x4cf379
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4cf3e0
cmp dword [ebp - 0x1f8], 0
jne 0x4cf3e0
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*8 - 0x198]
mov dword [ebp - 0xf0], ecx
mov edx, dword [ebp + eax*8 - 0x194]
mov dword [ebp - 0xec], edx
mov eax, dword [ebp - 0x190]
and eax, 1
and eax, 1
mov ecx, dword [ebp - 0xe0]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x190]
shr edx, 1
and edx, 0xf
and edx, 0xf
shl edx, 1
mov eax, dword [ebp - 0xe0]
and eax, 0xffffffe1
or eax, edx
mov dword [ebp - 0xe0], eax
jmp case.default.0x4cf56e
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x170]
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4cf40e
cmp dword [ebp - 0x1c8], 0x45
jne 0x4cf538
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
je 0x4cf43e
cmp dword [ebp - 0x298], 1
je 0x4cf494
cmp dword [ebp - 0x298], 2
je 0x4cf4e7
jmp 0x4cf538
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x19c]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x190]
and eax, 1
and eax, 1
mov ecx, dword [ebp - 0xe0]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x190]
shr edx, 1
and edx, 0xf
and edx, 0xf
shl edx, 1
mov eax, dword [ebp - 0xe0]
and eax, 0xffffffe1
or eax, edx
mov dword [ebp - 0xe0], eax
jmp 0x4cf538
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x198]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x190]
and eax, 1
and eax, 1
mov ecx, dword [ebp - 0xe0]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x190]
shr edx, 1
and edx, 0xf
and edx, 0xf
shl edx, 1
mov eax, dword [ebp - 0xe0]
and eax, 0xffffffe1
or eax, edx
mov dword [ebp - 0xe0], eax
jmp 0x4cf538
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x174]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0x160]
and eax, 1
and eax, 1
mov ecx, dword [ebp - 0xe0]
and ecx, 0xfffffffe
or ecx, eax
mov dword [ebp - 0xe0], ecx
mov edx, dword [ebp - 0x160]
shr edx, 1
and edx, 0xf
and edx, 0xf
shl edx, 1
mov eax, dword [ebp - 0xe0]
and eax, 0xffffffe1
or eax, edx
mov dword [ebp - 0xe0], eax
jmp case.default.0x4cf56e
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x274]
sub edx, 0x5f
mov dword [ebp - 0x274], edx
cmp dword [ebp - 0x274], 8
ja case.default.0x4cf56e
mov eax, dword [ebp - 0x274]
movzx ecx, byte [eax + 0x4cfd98]
jmp dword [ecx*4 + 0x4cfd8c]
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*4 - 0x170]
xor ecx, ecx
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], ecx
jmp case.default.0x4cf56e
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*4 - 0x170]
mov dword [ebp - 0xf0], eax
jmp case.default.0x4cf56e
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*8 - 0x170]
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp + ecx*8 - 0x16c]
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xc0]
and ecx, 0xfffffffe
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x2b0], edx
cmp dword [ebp - 0x2b0], 0
je 0x4cf61b
cmp dword [ebp - 0x2b0], 1
je 0x4cf5f6
jmp 0x4cf633
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*8 - 0x140]
mov dword [ebp - 0xd0], ecx
mov edx, dword [ebp + eax*8 - 0x13c]
mov dword [ebp - 0xcc], edx
jmp case.default.0x4cf664
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4cf664
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x258], edx
mov eax, dword [ebp - 0x258]
sub eax, 0x5f
mov dword [ebp - 0x258], eax
cmp dword [ebp - 0x258], 8
ja case.default.0x4cf664
mov ecx, dword [ebp - 0x258]
movzx edx, byte [ecx + 0x4cfdb0]
jmp dword [edx*4 + 0x4cfda4]
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
xor edx, edx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], edx
jmp case.default.0x4cf664
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4cf664
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*8 - 0x140]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp + edx*8 - 0x13c]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0x130]
shr edx, 1
and edx, 0xf
and edx, 0xf
shl edx, 1
mov eax, dword [ebp - 0xc0]
and eax, 0xffffffe1
or eax, edx
mov dword [ebp - 0xc0], eax
lea ecx, [ebp - 0x120]
mov dword [ebp - 0x2dc], ecx
cmp dword [ebp - 0x210], 1
je 0x4cf6fc
cmp dword [ebp - 0x210], 2
jne 0x4cf71a
lea edx, [ebp - 0x2fc]
push edx
call fcn.004d3820
add esp, 4
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp + ecx*4 - 0x1e8], eax
jmp 0x4cf736
lea edx, [ebp - 0x2fc]
push edx
call fcn.004d0ac0
add esp, 4
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp + ecx*4 - 0x1e8], eax
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0x2f8]
mov dword [ebp + edx*4 - 0x1d8], eax
mov ecx, dword [ebp - 0x1f8]
cmp dword [ebp + ecx*4 - 0x1e8], 1
jne 0x4cf95b
mov edx, dword [ebp - 0x240]
mov eax, dword [edx]
shr eax, 5
and eax, 1
je 0x4cf780
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x22c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x240]
mov edx, dword [ecx]
shr edx, 4
and edx, 1
je 0x4cf7a3
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 0x10
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax]
shr ecx, 3
and ecx, 1
je 0x4cf7c6
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx]
or eax, 8
mov ecx, dword [ebp - 0x22c]
mov dword [ecx], eax
mov edx, dword [ebp - 0x240]
mov eax, dword [edx]
shr eax, 2
and eax, 1
je 0x4cf7e9
mov ecx, dword [ebp - 0x22c]
mov edx, dword [ecx]
or edx, 4
mov eax, dword [ebp - 0x22c]
mov dword [eax], edx
mov ecx, dword [ebp - 0x240]
mov edx, dword [ecx]
shr edx, 1
and edx, 1
je 0x4cf80b
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
or ecx, 2
mov edx, dword [ebp - 0x22c]
mov dword [edx], ecx
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax]
and ecx, 1
je 0x4cf82b
mov edx, dword [ebp - 0x22c]
mov eax, dword [edx]
or eax, 1
mov ecx, dword [ebp - 0x22c]
mov dword [ecx], eax
lea edx, [ebp - 0x120]
push edx
call dword [ebx + 0x10]
add esp, 4
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 0xffffffff
je 0x4cf945
cmp dword [ebp - 0x248], 0
je 0x4cf93a
mov dword [ebp - 0x200], 0
jmp 0x4cf873
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 8
jge 0x4cf93a
mov ecx, dword [ebp - 0x200]
shl ecx, 4
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 0x238]
mov esi, dword [ebp - 0x228]
mov edi, dword [esi + ecx]
mov dword [eax + edx], edi
mov ecx, dword [esi + ecx + 4]
mov dword [eax + edx + 4], ecx
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x238]
mov esi, dword [ebp - 0x228]
mov edi, dword [esi + edx + 8]
mov dword [ecx + eax + 8], edi
mov edx, dword [esi + edx + 0xc]
mov dword [ecx + eax + 0xc], edx
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x200]
shl ecx, 4
mov edx, dword [ebp - 0x228]
mov esi, dword [ebp + eax - 0xb0]
mov dword [edx + ecx], esi
mov eax, dword [ebp + eax - 0xac]
mov dword [edx + ecx + 4], eax
mov ecx, dword [ebp - 0x200]
shl ecx, 4
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 0x228]
mov esi, dword [ebp + ecx - 0xa8]
mov dword [eax + edx + 8], esi
mov ecx, dword [ebp + ecx - 0xa4]
mov dword [eax + edx + 0xc], ecx
jmp 0x4cf864
mov eax, dword [ebp - 0x24c]
jmp 0x4cfbdc
lea edx, [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.004cc450
add esp, 8
mov ecx, dword [ebp - 0xc0]
and ecx, 1
and ecx, 1
mov edx, dword [ebp - 0x130]
and edx, 0xfffffffe
or edx, ecx
mov dword [ebp - 0x130], edx
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x1c0], eax
mov ecx, dword [ebp - 0x130]
and ecx, 1
je case.default.0x4cfa21
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x2b8], edx
cmp dword [ebp - 0x2b8], 0
je 0x4cf9d8
cmp dword [ebp - 0x2b8], 1
je 0x4cf9b3
jmp 0x4cf9f0
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*8 - 0x140], ecx
mov edx, dword [ebp - 0xcc]
mov dword [ebp + eax*8 - 0x13c], edx
jmp case.default.0x4cfa21
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4cfa21
mov edx, dword [ebp - 0x1c8]
mov dword [ebp - 0x260], edx
mov eax, dword [ebp - 0x260]
sub eax, 0x5f
mov dword [ebp - 0x260], eax
cmp dword [ebp - 0x260], 8
ja case.default.0x4cfa21
mov ecx, dword [ebp - 0x260]
movzx edx, byte [ecx + 0x4cfdc8]
jmp dword [edx*4 + 0x4cfdbc]
mov eax, dword [ebp - 0xd0]
xor ecx, ecx
mov edx, dword [ebp - 0x1f8]
mov dword [ebp + edx*8 - 0x140], eax
mov dword [ebp + edx*8 - 0x13c], ecx
jmp case.default.0x4cfa21
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4cfa21
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp - 0xd0]
mov dword [ebp + edx*8 - 0x140], eax
mov ecx, dword [ebp - 0xcc]
mov dword [ebp + edx*8 - 0x13c], ecx
jmp 0x4cee51
mov edx, dword [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x150]
push ecx
call fcn.004cd880
add esp, 0xc
jmp 0x4ce9d8
cmp dword [ebp - 0x280], 1
jle 0x4cfb91
mov dword [ebp - 0x200], 0
jmp 0x4cfaca
mov edx, dword [ebp - 0x200]
add edx, 1
mov dword [ebp - 0x200], edx
cmp dword [ebp - 0x200], 8
jge 0x4cfb91
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x200]
shl ecx, 4
mov edx, dword [ebp - 0x238]
mov esi, dword [ebp - 0x228]
mov edi, dword [esi + eax]
mov dword [edx + ecx], edi
mov eax, dword [esi + eax + 4]
mov dword [edx + ecx + 4], eax
mov ecx, dword [ebp - 0x200]
shl ecx, 4
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 0x238]
mov esi, dword [ebp - 0x228]
mov edi, dword [esi + ecx + 8]
mov dword [eax + edx + 8], edi
mov ecx, dword [esi + ecx + 0xc]
mov dword [eax + edx + 0xc], ecx
mov edx, dword [ebp - 0x200]
shl edx, 4
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x228]
mov esi, dword [ebp + edx - 0xb0]
mov dword [ecx + eax], esi
mov edx, dword [ebp + edx - 0xac]
mov dword [ecx + eax + 4], edx
mov eax, dword [ebp - 0x200]
shl eax, 4
mov ecx, dword [ebp - 0x200]
shl ecx, 4
mov edx, dword [ebp - 0x228]
mov esi, dword [ebp + eax - 0xa8]
mov dword [edx + ecx + 8], esi
mov eax, dword [ebp + eax - 0xa4]
mov dword [edx + ecx + 0xc], eax
jmp 0x4cfabb
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx + 0xb8]
mov dword [ebp - 0x208], edx
mov eax, dword [ebp - 0x208]
add eax, dword [ebp - 0x214]
mov dword [ebp - 0x208], eax
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ebp - 0x208]
mov dword [ecx + 0xb8], edx
mov eax, dword [ebp - 0x23c]
mov ecx, dword [ebp - 0x284]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0x24c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x24]
xor ecx, ebp
call fcn.00490a30
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret