Function at 0x4cf851
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 0x4fcf80
push 0x4826e0
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ecx
sub esp, 0x334
mov eax, dword [0x4fffe0]
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 0x4cf69b
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 0x4d16dc
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 0x4cf6ed
xor eax, eax
jne 0x4cf6e4
push 0
push 0x4eb754
push 0
push 0x3c1
push 0x4fbc58
push 2
call fcn.00483500
add esp, 0x18
cmp eax, 1
jne 0x4cf6e4
int3
xor eax, eax
jmp 0x4d16dc
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 0x4cfade
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.0x4cf7ec.1
mov ecx, dword [ebp - 0x278]
movzx edx, byte [ecx + 0x4d171c]
jmp dword [edx*4 + 0x4d16fc]
mov byte [ebp - 0x1f1], 1
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
jmp 0x4cfad9
mov dword [ebp - 0x210], 1
mov ecx, dword [ebp - 0x214]
add ecx, 1
mov dword [ebp - 0x214], ecx
jmp 0x4cfad9
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
mov edx, dword [ebp - 0x214]
add edx, 1
mov dword [ebp - 0x214], edx
jmp 0x4cfad9
mov byte [ebp - 0x1f2], 1
jmp 0x4cfad9
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 0x4cf8b7
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x209]
and ecx, 3
cmp ecx, 2
jne 0x4cf8cd
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x209]
and edx, 3
cmp edx, 3
jne 0x4cf8ed
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x209]
and eax, 4
je 0x4cf905
mov dword [ebp - 0x2c0], 1
jmp 0x4cf90f
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 0x4cf97a
cmp dword [ebp - 0x29c], 2
je 0x4cf983
cmp dword [ebp - 0x29c], 3
je 0x4cf98c
jmp 0x4cf995
mov byte [ebp - 0x20b], 0xf
jmp 0x4cf9d8
mov byte [ebp - 0x20b], 0x38
jmp 0x4cf9d8
mov byte [ebp - 0x20b], 0x3a
jmp 0x4cf9d8
xor eax, eax
jne 0x4cf9bc
push 0
push 0x4eb754
push 0
push 0x43d
push 0x4fbc58
push 2
call fcn.00483500
add esp, 0x18
cmp eax, 1
jne 0x4cf9bc
int3
mov dword [ebp - 0x338], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x338]
jmp 0x4d16dc
mov edx, dword [ebp - 0x214]
add edx, 2
mov dword [ebp - 0x214], edx
mov byte [ebp - 0x216], 0
jmp 0x4cfad9
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 0x4cfa30
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x201]
and ecx, 3
cmp ecx, 2
jne 0x4cfa46
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x201]
and edx, 3
cmp edx, 3
jne 0x4cfa66
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x201]
and eax, 4
je 0x4cfa7e
mov dword [ebp - 0x2d4], 1
jmp 0x4cfa88
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 0x4cfad9
mov byte [ebp - 0x1f2], 1
jmp 0x4cfad9
mov byte [ebp - 0x216], 0
jmp 0x4cf787
mov dword [ebp - 4], 0xfffffffe
jmp 0x4cfb73
movzx eax, byte [ebp - 0x1f2]
test eax, eax
je 0x4cfbac
xor ecx, ecx
jne 0x4cfba5
push 0
push 0x4eb754
push 0
push 0x47b
push 0x4fbc58
push 2
call fcn.00483500
add esp, 0x18
cmp eax, 1
jne 0x4cfba5
int3
xor eax, eax
jmp 0x4d16dc
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 0x4cfbfa
movzx eax, byte [ebp - 0x20a]
test eax, eax
je 0x4cfc2e
movzx ecx, byte [ebp - 0x20b]
cmp ecx, 0xf
je 0x4cfc20
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 0x4cfc5a
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 0x4cfc5a
mov byte [ebp - 0x1f2], 1
jmp 0x4d0437
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.0x4cfc88.2
mov eax, dword [ebp - 0x268]
jmp dword [eax*4 + 0x4d17ec]
mov dword [ebp - 0x234], 0x4fb088
jmp 0x4cfdeb
mov dword [ebp - 0x234], 0x4fb188
jmp 0x4cfdeb
mov dword [ebp - 0x234], 0x4fb288
jmp 0x4cfdeb
mov dword [ebp - 0x234], 0x4fb588
jmp 0x4cfdeb
mov dword [ebp - 0x234], 0x4fb388
movzx ecx, byte [ebp - 0x1f1]
test ecx, ecx
je 0x4cfcea
mov dword [ebp - 0x210], 0
jmp 0x4cfdeb
mov dword [ebp - 0x234], 0x4fb488
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4cfd0e
mov dword [ebp - 0x210], 0
jmp 0x4cfdeb
cmp dword [ebp - 0x254], 0xa
jne 0x4cfdd1
mov dword [ebp - 0x25c], 1
movzx eax, byte [ebp - 0x217]
movzx ecx, byte [ebp - 0x20a]
or eax, ecx
jne 0x4cfd5a
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 0x4cfdab
cmp dword [ebp - 0x2ac], 4
je 0x4cfdb7
jmp 0x4cfdc3
mov dword [ebp - 0x234], 0x4fb688
jmp 0x4cfdcf
mov dword [ebp - 0x234], 0x4fb708
jmp 0x4cfdcf
mov byte [ebp - 0x1f2], 1
jmp 0x4d0437
jmp 0x4cfddd
mov byte [ebp - 0x1f2], 1
jmp 0x4d0437
jmp 0x4cfdeb
mov byte [ebp - 0x1f2], 1
jmp 0x4d0437
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
shr edx, 0xe
and edx, 3
cmp edx, 3
jne 0x4cfe0a
mov dword [ebp - 0x2c8], 0
jmp 0x4cfe14
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 0x4cfe4b
mov byte [ebp - 0x1f2], 1
jmp 0x4d0437
cmp dword [ebp - 0x25c], 1
jne 0x4cff91
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 0x4cfea5
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4cfea5
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
jne 0x4cfeb1
mov dword [ebp - 0x210], 1
jmp 0x4cff01
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x46
je 0x4cfee9
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x47
je 0x4cfee9
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x48
jne 0x4cfef5
mov dword [ebp - 0x210], 0
jmp 0x4cff01
mov byte [ebp - 0x1f2], 1
jmp 0x4d0437
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x6b
je 0x4cff4b
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x46
je 0x4cff4b
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
je 0x4cff4b
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x48
jne 0x4cff54
mov byte [ebp - 0x1f1], 0
jmp 0x4cff8f
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4cff7a
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x47
jne 0x4cff83
mov byte [ebp - 0x1f1], 1
jmp 0x4cff8f
mov byte [ebp - 0x1f2], 1
jmp 0x4d0437
jmp 0x4cffaf
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 0x4cffcd
mov byte [ebp - 0x1f2], 1
jmp 0x4d0437
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0xc
and ecx, 0x1f
cmp ecx, 0x1e
jne 0x4d0034
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4d0008
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x4fb80c]
mov dword [ebp - 0x1fc], edx
jmp 0x4d0023
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x4fb808]
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 0x4d006c
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x44
je 0x4d006c
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x45
jne 0x4d0073
mov byte [ebp - 0x1f1], 0
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x68
je 0x4d00ab
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x69
je 0x4d00ab
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6a
jne 0x4d00b5
mov dword [ebp - 0x210], 1
cmp dword [ebp - 0x25c], 0
jne 0x4d00dd
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 0x4d00f1
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 0x4d0107
movzx eax, byte [ebp - 0x20a]
test eax, eax
je case.0x4d0140.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.0x4d0140.1
mov ecx, dword [ebp - 0x26c]
movzx edx, byte [ecx + 0x4d1828]
jmp dword [edx*4 + 0x4d1820]
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 0x4d035b
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
and edx, 0x10040
cmp edx, 0x10040
jne 0x4d035b
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 0x4d0240
xor eax, eax
jne 0x4d0224
push 0
push 0x4eb754
push 0
push 0x5de
push 0x4fbc58
push 2
call fcn.00483500
add esp, 0x18
cmp eax, 1
jne 0x4d0224
int3
mov dword [ebp - 0x33c], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x33c]
jmp 0x4d16dc
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 0x4d02c1
xor edx, edx
jne 0x4d02a5
push 0
push 0x4eb754
push 0
push 0x5e9
push 0x4fbc58
push 2
call fcn.00483500
add esp, 0x18
cmp eax, 1
jne 0x4d02a5
int3
mov dword [ebp - 0x318], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x318]
jmp 0x4d16dc
lea ecx, [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
call dword [ebp - 0x334]
test eax, eax
jne 0x4d031c
xor eax, eax
jne 0x4d0300
push 0
push 0x4eb754
push 0
push 0x5f3
push 0x4fbc58
push 2
call fcn.00483500
add esp, 0x18
cmp eax, 1
jne 0x4d0300
int3
mov dword [ebp - 0x320], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x320]
jmp 0x4d16dc
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 0x4d0371
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x280], 1
movzx eax, byte [ebp - 0x22d]
test eax, eax
je 0x4d03e2
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 + 0x4fb858]
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 0x4d0437
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 0x4d04cc
mov dword [ebp - 0x248], 0
jmp 0x4d04e7
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x280]
jge 0x4d15a2
cmp dword [ebp - 0x248], 0
je 0x4d05fc
mov dword [ebp - 0x200], 0
jmp 0x4d0521
mov ecx, dword [ebp - 0x200]
add ecx, 1
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 8
jge 0x4d05e8
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 0x4d0512
mov eax, dword [ebp - 0x284]
add eax, 0x10
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x10], eax
jmp 0x4d060b
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.004ce840
add esp, 0x18
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
shr eax, 0xc
and eax, 0x1f
cmp eax, 0x1f
jne 0x4d06b5
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.004ce840
add esp, 0x18
mov ecx, dword [ebp - 0x160]
and ecx, 0xfffffffe
mov dword [ebp - 0x160], ecx
jmp 0x4d0700
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.004ce840
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.004ce840
add esp, 0x18
movzx ecx, byte [ebp - 0x1f2]
test ecx, ecx
je 0x4d077c
xor edx, edx
jne 0x4d0775
push 0
push 0x4eb754
push 0
push 0x667
push 0x4fbc58
push 2
call fcn.00483500
add esp, 0x18
cmp eax, 1
jne 0x4d0775
int3
xor eax, eax
jmp 0x4d16dc
mov ecx, dword [ebp - 0x23c]
movzx edx, word [ecx]
and edx, 0x300
mov dword [ebp - 0x294], edx
je 0x4d07c5
cmp dword [ebp - 0x294], 0x200
je 0x4d07b9
cmp dword [ebp - 0x294], 0x300
je 0x4d07ad
jmp 0x4d07cf
mov dword [ebp - 0x2e8], 0
jmp 0x4d07cf
mov dword [ebp - 0x2e8], 1
jmp 0x4d07cf
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.0x4d0802
mov eax, dword [ebp - 0x2cc]
jmp dword [eax*4 + 0x4d1864]
mov dword [ebp - 0x2ec], 0
jmp case.default.0x4d0802
mov dword [ebp - 0x2ec], 1
jmp case.default.0x4d0802
mov dword [ebp - 0x2ec], 2
jmp case.default.0x4d0802
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 0x4d08eb
mov dword [ebp - 0x2d0], 1
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x2bc], ecx
cmp dword [ebp - 0x2bc], 0x48
je 0x4d090b
cmp dword [ebp - 0x2bc], 0x6d
je 0x4d090b
jmp 0x4d0945
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.004ce380
add esp, 0x18
mov dword [ebp - 0x24c], eax
jmp 0x4d1580
mov dword [ebp - 0x1f8], 0
jmp 0x4d0960
mov edx, dword [ebp - 0x1f8]
add edx, 1
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0x2d0]
jae 0x4d1580
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.004cf270
add esp, 0xc
movzx edx, al
test edx, edx
je 0x4d0adc
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 0x4d0afe
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 0x4d0c01
cmp dword [ebp - 0x2a4], 1
je 0x4d0b63
jmp 0x4d0d3c
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 0x4d0b95
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4d0bfc
cmp dword [ebp - 0x1f8], 1
jne 0x4d0bfc
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.0x4d0d6d
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x1a0]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4d0c2a
cmp dword [ebp - 0x1c8], 0x45
jne 0x4d0d37
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 1
je 0x4d0c5a
cmp dword [ebp - 0x288], 2
je 0x4d0c93
cmp dword [ebp - 0x288], 3
je 0x4d0ce6
jmp 0x4d0d37
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 0x4d0d37
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 0x4d0d37
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.0x4d0d6d
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.0x4d0d6d
mov ecx, dword [ebp - 0x264]
movzx edx, byte [ecx + 0x4d1880]
jmp dword [edx*4 + 0x4d1874]
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.0x4d0d6d
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x110], ecx
jmp case.default.0x4d0d6d
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 0x4d0e11
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 0x4d0e20
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 0x4d0ee5
cmp dword [ebp - 0x2a8], 1
je 0x4d0e47
jmp 0x4d103d
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 0x4d0e79
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4d0ee0
cmp dword [ebp - 0x1f8], 0
jne 0x4d0ee0
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.0x4d106e
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x170]
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4d0f0e
cmp dword [ebp - 0x1c8], 0x45
jne 0x4d1038
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
je 0x4d0f3e
cmp dword [ebp - 0x298], 1
je 0x4d0f94
cmp dword [ebp - 0x298], 2
je 0x4d0fe7
jmp 0x4d1038
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 0x4d1038
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 0x4d1038
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.0x4d106e
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.0x4d106e
mov eax, dword [ebp - 0x274]
movzx ecx, byte [eax + 0x4d1898]
jmp dword [ecx*4 + 0x4d188c]
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.0x4d106e
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*4 - 0x170]
mov dword [ebp - 0xf0], eax
jmp case.default.0x4d106e
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 0x4d111b
cmp dword [ebp - 0x2b0], 1
je 0x4d10f6
jmp 0x4d1133
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.0x4d1164
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4d1164
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.0x4d1164
mov ecx, dword [ebp - 0x258]
movzx edx, byte [ecx + 0x4d18b0]
jmp dword [edx*4 + 0x4d18a4]
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.0x4d1164
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4d1164
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 0x4d11fc
cmp dword [ebp - 0x210], 2
jne 0x4d121a
lea edx, [ebp - 0x2fc]
push edx
call fcn.004d5330
add esp, 4
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp + ecx*4 - 0x1e8], eax
jmp 0x4d1236
lea edx, [ebp - 0x2fc]
push edx
call fcn.004d25d0
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 0x4d145b
mov edx, dword [ebp - 0x240]
mov eax, dword [edx]
shr eax, 5
and eax, 1
je 0x4d1280
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 0x4d12a3
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 0x4d12c6
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 0x4d12e9
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 0x4d130b
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 0x4d132b
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 0x4d1445
cmp dword [ebp - 0x248], 0
je 0x4d143a
mov dword [ebp - 0x200], 0
jmp 0x4d1373
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 8
jge 0x4d143a
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 0x4d1364
mov eax, dword [ebp - 0x24c]
jmp 0x4d16dc
lea edx, [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.004cdf50
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.0x4d1521
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x2b8], edx
cmp dword [ebp - 0x2b8], 0
je 0x4d14d8
cmp dword [ebp - 0x2b8], 1
je 0x4d14b3
jmp 0x4d14f0
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.0x4d1521
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4d1521
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.0x4d1521
mov ecx, dword [ebp - 0x260]
movzx edx, byte [ecx + 0x4d18c8]
jmp dword [edx*4 + 0x4d18bc]
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.0x4d1521
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4d1521
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 0x4d0951
mov edx, dword [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x150]
push ecx
call fcn.004cf380
add esp, 0xc
jmp 0x4d04d8
cmp dword [ebp - 0x280], 1
jle 0x4d1691
mov dword [ebp - 0x200], 0
jmp 0x4d15ca
mov edx, dword [ebp - 0x200]
add edx, 1
mov dword [ebp - 0x200], edx
cmp dword [ebp - 0x200], 8
jge 0x4d1691
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 0x4d15bb
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.00492350
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret