Function at 0x4cede1
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 0x502890
push 0x481e80
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ecx
sub esp, 0x334
mov eax, dword [0x506230]
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 0x4cec2b
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 0x4d0c6c
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 0x4cec7d
xor eax, eax
jne 0x4cec74
push 0
push 0x4f1074
push 0
push 0x3c1
push 0x501568
push 2
call fcn.00482ca0
add esp, 0x18
cmp eax, 1
jne 0x4cec74
int3
xor eax, eax
jmp 0x4d0c6c
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 0x4cf06e
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.0x4ced7c.1
mov ecx, dword [ebp - 0x278]
movzx edx, byte [ecx + 0x4d0cac]
jmp dword [edx*4 + 0x4d0c8c]
mov byte [ebp - 0x1f1], 1
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
jmp 0x4cf069
mov dword [ebp - 0x210], 1
mov ecx, dword [ebp - 0x214]
add ecx, 1
mov dword [ebp - 0x214], ecx
jmp 0x4cf069
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
mov edx, dword [ebp - 0x214]
add edx, 1
mov dword [ebp - 0x214], edx
jmp 0x4cf069
mov byte [ebp - 0x1f2], 1
jmp 0x4cf069
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 0x4cee47
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x209]
and ecx, 3
cmp ecx, 2
jne 0x4cee5d
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x209]
and edx, 3
cmp edx, 3
jne 0x4cee7d
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x209]
and eax, 4
je 0x4cee95
mov dword [ebp - 0x2c0], 1
jmp 0x4cee9f
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 0x4cef0a
cmp dword [ebp - 0x29c], 2
je 0x4cef13
cmp dword [ebp - 0x29c], 3
je 0x4cef1c
jmp 0x4cef25
mov byte [ebp - 0x20b], 0xf
jmp 0x4cef68
mov byte [ebp - 0x20b], 0x38
jmp 0x4cef68
mov byte [ebp - 0x20b], 0x3a
jmp 0x4cef68
xor eax, eax
jne 0x4cef4c
push 0
push 0x4f1074
push 0
push 0x43d
push 0x501568
push 2
call fcn.00482ca0
add esp, 0x18
cmp eax, 1
jne 0x4cef4c
int3
mov dword [ebp - 0x338], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x338]
jmp 0x4d0c6c
mov edx, dword [ebp - 0x214]
add edx, 2
mov dword [ebp - 0x214], edx
mov byte [ebp - 0x216], 0
jmp 0x4cf069
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 0x4cefc0
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x201]
and ecx, 3
cmp ecx, 2
jne 0x4cefd6
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x201]
and edx, 3
cmp edx, 3
jne 0x4ceff6
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x201]
and eax, 4
je 0x4cf00e
mov dword [ebp - 0x2d4], 1
jmp 0x4cf018
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 0x4cf069
mov byte [ebp - 0x1f2], 1
jmp 0x4cf069
mov byte [ebp - 0x216], 0
jmp 0x4ced17
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cf103
movzx eax, byte [ebp - 0x1f2]
test eax, eax
je 0x4cf13c
xor ecx, ecx
jne 0x4cf135
push 0
push 0x4f1074
push 0
push 0x47b
push 0x501568
push 2
call fcn.00482ca0
add esp, 0x18
cmp eax, 1
jne 0x4cf135
int3
xor eax, eax
jmp 0x4d0c6c
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 0x4cf18a
movzx eax, byte [ebp - 0x20a]
test eax, eax
je 0x4cf1be
movzx ecx, byte [ebp - 0x20b]
cmp ecx, 0xf
je 0x4cf1b0
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 0x4cf1ea
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 0x4cf1ea
mov byte [ebp - 0x1f2], 1
jmp 0x4cf9c7
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.0x4cf218.2
mov eax, dword [ebp - 0x268]
jmp dword [eax*4 + 0x4d0d7c]
mov dword [ebp - 0x234], 0x500998
jmp 0x4cf37b
mov dword [ebp - 0x234], 0x500a98
jmp 0x4cf37b
mov dword [ebp - 0x234], 0x500b98
jmp 0x4cf37b
mov dword [ebp - 0x234], 0x500e98
jmp 0x4cf37b
mov dword [ebp - 0x234], 0x500c98
movzx ecx, byte [ebp - 0x1f1]
test ecx, ecx
je 0x4cf27a
mov dword [ebp - 0x210], 0
jmp 0x4cf37b
mov dword [ebp - 0x234], 0x500d98
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4cf29e
mov dword [ebp - 0x210], 0
jmp 0x4cf37b
cmp dword [ebp - 0x254], 0xa
jne 0x4cf361
mov dword [ebp - 0x25c], 1
movzx eax, byte [ebp - 0x217]
movzx ecx, byte [ebp - 0x20a]
or eax, ecx
jne 0x4cf2ea
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 0x4cf33b
cmp dword [ebp - 0x2ac], 4
je 0x4cf347
jmp 0x4cf353
mov dword [ebp - 0x234], 0x500f98
jmp 0x4cf35f
mov dword [ebp - 0x234], 0x501018
jmp 0x4cf35f
mov byte [ebp - 0x1f2], 1
jmp 0x4cf9c7
jmp 0x4cf36d
mov byte [ebp - 0x1f2], 1
jmp 0x4cf9c7
jmp 0x4cf37b
mov byte [ebp - 0x1f2], 1
jmp 0x4cf9c7
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
shr edx, 0xe
and edx, 3
cmp edx, 3
jne 0x4cf39a
mov dword [ebp - 0x2c8], 0
jmp 0x4cf3a4
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 0x4cf3db
mov byte [ebp - 0x1f2], 1
jmp 0x4cf9c7
cmp dword [ebp - 0x25c], 1
jne 0x4cf521
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 0x4cf435
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4cf435
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
jne 0x4cf441
mov dword [ebp - 0x210], 1
jmp 0x4cf491
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x46
je 0x4cf479
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x47
je 0x4cf479
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x48
jne 0x4cf485
mov dword [ebp - 0x210], 0
jmp 0x4cf491
mov byte [ebp - 0x1f2], 1
jmp 0x4cf9c7
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x6b
je 0x4cf4db
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x46
je 0x4cf4db
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
je 0x4cf4db
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x48
jne 0x4cf4e4
mov byte [ebp - 0x1f1], 0
jmp 0x4cf51f
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4cf50a
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x47
jne 0x4cf513
mov byte [ebp - 0x1f1], 1
jmp 0x4cf51f
mov byte [ebp - 0x1f2], 1
jmp 0x4cf9c7
jmp 0x4cf53f
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 0x4cf55d
mov byte [ebp - 0x1f2], 1
jmp 0x4cf9c7
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0xc
and ecx, 0x1f
cmp ecx, 0x1e
jne 0x4cf5c4
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4cf598
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x50111c]
mov dword [ebp - 0x1fc], edx
jmp 0x4cf5b3
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x501118]
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 0x4cf5fc
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x44
je 0x4cf5fc
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x45
jne 0x4cf603
mov byte [ebp - 0x1f1], 0
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x68
je 0x4cf63b
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x69
je 0x4cf63b
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6a
jne 0x4cf645
mov dword [ebp - 0x210], 1
cmp dword [ebp - 0x25c], 0
jne 0x4cf66d
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 0x4cf681
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 0x4cf697
movzx eax, byte [ebp - 0x20a]
test eax, eax
je case.0x4cf6d0.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.0x4cf6d0.1
mov ecx, dword [ebp - 0x26c]
movzx edx, byte [ecx + 0x4d0db8]
jmp dword [edx*4 + 0x4d0db0]
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 0x4cf8eb
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
and edx, 0x10040
cmp edx, 0x10040
jne 0x4cf8eb
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 0x4cf7d0
xor eax, eax
jne 0x4cf7b4
push 0
push 0x4f1074
push 0
push 0x5de
push 0x501568
push 2
call fcn.00482ca0
add esp, 0x18
cmp eax, 1
jne 0x4cf7b4
int3
mov dword [ebp - 0x33c], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x33c]
jmp 0x4d0c6c
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 0x4cf851
xor edx, edx
jne 0x4cf835
push 0
push 0x4f1074
push 0
push 0x5e9
push 0x501568
push 2
call fcn.00482ca0
add esp, 0x18
cmp eax, 1
jne 0x4cf835
int3
mov dword [ebp - 0x318], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x318]
jmp 0x4d0c6c
lea ecx, [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
call dword [ebp - 0x334]
test eax, eax
jne 0x4cf8ac
xor eax, eax
jne 0x4cf890
push 0
push 0x4f1074
push 0
push 0x5f3
push 0x501568
push 2
call fcn.00482ca0
add esp, 0x18
cmp eax, 1
jne 0x4cf890
int3
mov dword [ebp - 0x320], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x320]
jmp 0x4d0c6c
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 0x4cf901
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x280], 1
movzx eax, byte [ebp - 0x22d]
test eax, eax
je 0x4cf972
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 + 0x501168]
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 0x4cf9c7
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 0x4cfa5c
mov dword [ebp - 0x248], 0
jmp 0x4cfa77
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x280]
jge 0x4d0b32
cmp dword [ebp - 0x248], 0
je 0x4cfb8c
mov dword [ebp - 0x200], 0
jmp 0x4cfab1
mov ecx, dword [ebp - 0x200]
add ecx, 1
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 8
jge 0x4cfb78
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 0x4cfaa2
mov eax, dword [ebp - 0x284]
add eax, 0x10
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x10], eax
jmp 0x4cfb9b
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.004cddd0
add esp, 0x18
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
shr eax, 0xc
and eax, 0x1f
cmp eax, 0x1f
jne 0x4cfc45
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.004cddd0
add esp, 0x18
mov ecx, dword [ebp - 0x160]
and ecx, 0xfffffffe
mov dword [ebp - 0x160], ecx
jmp 0x4cfc90
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.004cddd0
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.004cddd0
add esp, 0x18
movzx ecx, byte [ebp - 0x1f2]
test ecx, ecx
je 0x4cfd0c
xor edx, edx
jne 0x4cfd05
push 0
push 0x4f1074
push 0
push 0x667
push 0x501568
push 2
call fcn.00482ca0
add esp, 0x18
cmp eax, 1
jne 0x4cfd05
int3
xor eax, eax
jmp 0x4d0c6c
mov ecx, dword [ebp - 0x23c]
movzx edx, word [ecx]
and edx, 0x300
mov dword [ebp - 0x294], edx
je 0x4cfd55
cmp dword [ebp - 0x294], 0x200
je 0x4cfd49
cmp dword [ebp - 0x294], 0x300
je 0x4cfd3d
jmp 0x4cfd5f
mov dword [ebp - 0x2e8], 0
jmp 0x4cfd5f
mov dword [ebp - 0x2e8], 1
jmp 0x4cfd5f
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.0x4cfd92
mov eax, dword [ebp - 0x2cc]
jmp dword [eax*4 + 0x4d0df4]
mov dword [ebp - 0x2ec], 0
jmp case.default.0x4cfd92
mov dword [ebp - 0x2ec], 1
jmp case.default.0x4cfd92
mov dword [ebp - 0x2ec], 2
jmp case.default.0x4cfd92
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 0x4cfe7b
mov dword [ebp - 0x2d0], 1
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x2bc], ecx
cmp dword [ebp - 0x2bc], 0x48
je 0x4cfe9b
cmp dword [ebp - 0x2bc], 0x6d
je 0x4cfe9b
jmp 0x4cfed5
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.004cd910
add esp, 0x18
mov dword [ebp - 0x24c], eax
jmp 0x4d0b10
mov dword [ebp - 0x1f8], 0
jmp 0x4cfef0
mov edx, dword [ebp - 0x1f8]
add edx, 1
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0x2d0]
jae 0x4d0b10
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.004ce800
add esp, 0xc
movzx edx, al
test edx, edx
je 0x4d006c
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 0x4d008e
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 0x4d0191
cmp dword [ebp - 0x2a4], 1
je 0x4d00f3
jmp 0x4d02cc
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 0x4d0125
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4d018c
cmp dword [ebp - 0x1f8], 1
jne 0x4d018c
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.0x4d02fd
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x1a0]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4d01ba
cmp dword [ebp - 0x1c8], 0x45
jne 0x4d02c7
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 1
je 0x4d01ea
cmp dword [ebp - 0x288], 2
je 0x4d0223
cmp dword [ebp - 0x288], 3
je 0x4d0276
jmp 0x4d02c7
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 0x4d02c7
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 0x4d02c7
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.0x4d02fd
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.0x4d02fd
mov ecx, dword [ebp - 0x264]
movzx edx, byte [ecx + 0x4d0e10]
jmp dword [edx*4 + 0x4d0e04]
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.0x4d02fd
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x110], ecx
jmp case.default.0x4d02fd
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 0x4d03a1
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 0x4d03b0
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 0x4d0475
cmp dword [ebp - 0x2a8], 1
je 0x4d03d7
jmp 0x4d05cd
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 0x4d0409
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4d0470
cmp dword [ebp - 0x1f8], 0
jne 0x4d0470
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.0x4d05fe
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x170]
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4d049e
cmp dword [ebp - 0x1c8], 0x45
jne 0x4d05c8
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
je 0x4d04ce
cmp dword [ebp - 0x298], 1
je 0x4d0524
cmp dword [ebp - 0x298], 2
je 0x4d0577
jmp 0x4d05c8
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 0x4d05c8
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 0x4d05c8
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.0x4d05fe
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.0x4d05fe
mov eax, dword [ebp - 0x274]
movzx ecx, byte [eax + 0x4d0e28]
jmp dword [ecx*4 + 0x4d0e1c]
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.0x4d05fe
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*4 - 0x170]
mov dword [ebp - 0xf0], eax
jmp case.default.0x4d05fe
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 0x4d06ab
cmp dword [ebp - 0x2b0], 1
je 0x4d0686
jmp 0x4d06c3
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.0x4d06f4
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4d06f4
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.0x4d06f4
mov ecx, dword [ebp - 0x258]
movzx edx, byte [ecx + 0x4d0e40]
jmp dword [edx*4 + 0x4d0e34]
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.0x4d06f4
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4d06f4
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 0x4d078c
cmp dword [ebp - 0x210], 2
jne 0x4d07aa
lea edx, [ebp - 0x2fc]
push edx
call fcn.004d48c0
add esp, 4
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp + ecx*4 - 0x1e8], eax
jmp 0x4d07c6
lea edx, [ebp - 0x2fc]
push edx
call fcn.004d1b60
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 0x4d09eb
mov edx, dword [ebp - 0x240]
mov eax, dword [edx]
shr eax, 5
and eax, 1
je 0x4d0810
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 0x4d0833
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 0x4d0856
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 0x4d0879
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 0x4d089b
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 0x4d08bb
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 0x4d09d5
cmp dword [ebp - 0x248], 0
je 0x4d09ca
mov dword [ebp - 0x200], 0
jmp 0x4d0903
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 8
jge 0x4d09ca
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 0x4d08f4
mov eax, dword [ebp - 0x24c]
jmp 0x4d0c6c
lea edx, [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.004cd4e0
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.0x4d0ab1
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x2b8], edx
cmp dword [ebp - 0x2b8], 0
je 0x4d0a68
cmp dword [ebp - 0x2b8], 1
je 0x4d0a43
jmp 0x4d0a80
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.0x4d0ab1
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4d0ab1
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.0x4d0ab1
mov ecx, dword [ebp - 0x260]
movzx edx, byte [ecx + 0x4d0e58]
jmp dword [edx*4 + 0x4d0e4c]
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.0x4d0ab1
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4d0ab1
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 0x4cfee1
mov edx, dword [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x150]
push ecx
call fcn.004ce910
add esp, 0xc
jmp 0x4cfa68
cmp dword [ebp - 0x280], 1
jle 0x4d0c21
mov dword [ebp - 0x200], 0
jmp 0x4d0b5a
mov edx, dword [ebp - 0x200]
add edx, 1
mov dword [ebp - 0x200], edx
cmp dword [ebp - 0x200], 8
jge 0x4d0c21
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 0x4d0b4b
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.00491b10
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret