Function at 0x4d2cd1
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 0x501f80
push 0x484180
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ecx
sub esp, 0x334
mov eax, dword [0x504ff8]
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 0x4d2b1b
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 0x4d4b5c
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 0x4d2b6d
xor eax, eax
jne 0x4d2b64
push 0
push 0x4ee368
push 0
push 0x3c1
push 0x500c98
push 2
call fcn.00484e10
add esp, 0x18
cmp eax, 1
jne 0x4d2b64
int3
xor eax, eax
jmp 0x4d4b5c
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 0x4d2f5e
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.0x4d2c6c.1
mov ecx, dword [ebp - 0x278]
movzx edx, byte [ecx + 0x4d4b9c]
jmp dword [edx*4 + 0x4d4b7c]
mov byte [ebp - 0x1f1], 1
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
jmp 0x4d2f59
mov dword [ebp - 0x210], 1
mov ecx, dword [ebp - 0x214]
add ecx, 1
mov dword [ebp - 0x214], ecx
jmp 0x4d2f59
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
mov edx, dword [ebp - 0x214]
add edx, 1
mov dword [ebp - 0x214], edx
jmp 0x4d2f59
mov byte [ebp - 0x1f2], 1
jmp 0x4d2f59
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 0x4d2d37
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x209]
and ecx, 3
cmp ecx, 2
jne 0x4d2d4d
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x209]
and edx, 3
cmp edx, 3
jne 0x4d2d6d
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x209]
and eax, 4
je 0x4d2d85
mov dword [ebp - 0x2c0], 1
jmp 0x4d2d8f
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 0x4d2dfa
cmp dword [ebp - 0x29c], 2
je 0x4d2e03
cmp dword [ebp - 0x29c], 3
je 0x4d2e0c
jmp 0x4d2e15
mov byte [ebp - 0x20b], 0xf
jmp 0x4d2e58
mov byte [ebp - 0x20b], 0x38
jmp 0x4d2e58
mov byte [ebp - 0x20b], 0x3a
jmp 0x4d2e58
xor eax, eax
jne 0x4d2e3c
push 0
push 0x4ee368
push 0
push 0x43d
push 0x500c98
push 2
call fcn.00484e10
add esp, 0x18
cmp eax, 1
jne 0x4d2e3c
int3
mov dword [ebp - 0x338], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x338]
jmp 0x4d4b5c
mov edx, dword [ebp - 0x214]
add edx, 2
mov dword [ebp - 0x214], edx
mov byte [ebp - 0x216], 0
jmp 0x4d2f59
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 0x4d2eb0
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x201]
and ecx, 3
cmp ecx, 2
jne 0x4d2ec6
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x201]
and edx, 3
cmp edx, 3
jne 0x4d2ee6
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x201]
and eax, 4
je 0x4d2efe
mov dword [ebp - 0x2d4], 1
jmp 0x4d2f08
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 0x4d2f59
mov byte [ebp - 0x1f2], 1
jmp 0x4d2f59
mov byte [ebp - 0x216], 0
jmp 0x4d2c07
mov dword [ebp - 4], 0xfffffffe
jmp 0x4d2ff3
movzx eax, byte [ebp - 0x1f2]
test eax, eax
je 0x4d302c
xor ecx, ecx
jne 0x4d3025
push 0
push 0x4ee368
push 0
push 0x47b
push 0x500c98
push 2
call fcn.00484e10
add esp, 0x18
cmp eax, 1
jne 0x4d3025
int3
xor eax, eax
jmp 0x4d4b5c
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 0x4d307a
movzx eax, byte [ebp - 0x20a]
test eax, eax
je 0x4d30ae
movzx ecx, byte [ebp - 0x20b]
cmp ecx, 0xf
je 0x4d30a0
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 0x4d30da
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 0x4d30da
mov byte [ebp - 0x1f2], 1
jmp 0x4d38b7
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.0x4d3108.2
mov eax, dword [ebp - 0x268]
jmp dword [eax*4 + 0x4d4c6c]
mov dword [ebp - 0x234], 0x5000c8
jmp 0x4d326b
mov dword [ebp - 0x234], 0x5001c8
jmp 0x4d326b
mov dword [ebp - 0x234], 0x5002c8
jmp 0x4d326b
mov dword [ebp - 0x234], 0x5005c8
jmp 0x4d326b
mov dword [ebp - 0x234], 0x5003c8
movzx ecx, byte [ebp - 0x1f1]
test ecx, ecx
je 0x4d316a
mov dword [ebp - 0x210], 0
jmp 0x4d326b
mov dword [ebp - 0x234], 0x5004c8
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4d318e
mov dword [ebp - 0x210], 0
jmp 0x4d326b
cmp dword [ebp - 0x254], 0xa
jne 0x4d3251
mov dword [ebp - 0x25c], 1
movzx eax, byte [ebp - 0x217]
movzx ecx, byte [ebp - 0x20a]
or eax, ecx
jne 0x4d31da
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 0x4d322b
cmp dword [ebp - 0x2ac], 4
je 0x4d3237
jmp 0x4d3243
mov dword [ebp - 0x234], 0x5006c8
jmp 0x4d324f
mov dword [ebp - 0x234], 0x500748
jmp 0x4d324f
mov byte [ebp - 0x1f2], 1
jmp 0x4d38b7
jmp 0x4d325d
mov byte [ebp - 0x1f2], 1
jmp 0x4d38b7
jmp 0x4d326b
mov byte [ebp - 0x1f2], 1
jmp 0x4d38b7
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
shr edx, 0xe
and edx, 3
cmp edx, 3
jne 0x4d328a
mov dword [ebp - 0x2c8], 0
jmp 0x4d3294
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 0x4d32cb
mov byte [ebp - 0x1f2], 1
jmp 0x4d38b7
cmp dword [ebp - 0x25c], 1
jne 0x4d3411
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 0x4d3325
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4d3325
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
jne 0x4d3331
mov dword [ebp - 0x210], 1
jmp 0x4d3381
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x46
je 0x4d3369
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x47
je 0x4d3369
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x48
jne 0x4d3375
mov dword [ebp - 0x210], 0
jmp 0x4d3381
mov byte [ebp - 0x1f2], 1
jmp 0x4d38b7
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x6b
je 0x4d33cb
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x46
je 0x4d33cb
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
je 0x4d33cb
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x48
jne 0x4d33d4
mov byte [ebp - 0x1f1], 0
jmp 0x4d340f
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4d33fa
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x47
jne 0x4d3403
mov byte [ebp - 0x1f1], 1
jmp 0x4d340f
mov byte [ebp - 0x1f2], 1
jmp 0x4d38b7
jmp 0x4d342f
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 0x4d344d
mov byte [ebp - 0x1f2], 1
jmp 0x4d38b7
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0xc
and ecx, 0x1f
cmp ecx, 0x1e
jne 0x4d34b4
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4d3488
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x50084c]
mov dword [ebp - 0x1fc], edx
jmp 0x4d34a3
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x500848]
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 0x4d34ec
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x44
je 0x4d34ec
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x45
jne 0x4d34f3
mov byte [ebp - 0x1f1], 0
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x68
je 0x4d352b
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x69
je 0x4d352b
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6a
jne 0x4d3535
mov dword [ebp - 0x210], 1
cmp dword [ebp - 0x25c], 0
jne 0x4d355d
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 0x4d3571
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 0x4d3587
movzx eax, byte [ebp - 0x20a]
test eax, eax
je case.0x4d35c0.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.0x4d35c0.1
mov ecx, dword [ebp - 0x26c]
movzx edx, byte [ecx + 0x4d4ca8]
jmp dword [edx*4 + 0x4d4ca0]
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 0x4d37db
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
and edx, 0x10040
cmp edx, 0x10040
jne 0x4d37db
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 0x4d36c0
xor eax, eax
jne 0x4d36a4
push 0
push 0x4ee368
push 0
push 0x5de
push 0x500c98
push 2
call fcn.00484e10
add esp, 0x18
cmp eax, 1
jne 0x4d36a4
int3
mov dword [ebp - 0x33c], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x33c]
jmp 0x4d4b5c
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 0x4d3741
xor edx, edx
jne 0x4d3725
push 0
push 0x4ee368
push 0
push 0x5e9
push 0x500c98
push 2
call fcn.00484e10
add esp, 0x18
cmp eax, 1
jne 0x4d3725
int3
mov dword [ebp - 0x318], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x318]
jmp 0x4d4b5c
lea ecx, [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
call dword [ebp - 0x334]
test eax, eax
jne 0x4d379c
xor eax, eax
jne 0x4d3780
push 0
push 0x4ee368
push 0
push 0x5f3
push 0x500c98
push 2
call fcn.00484e10
add esp, 0x18
cmp eax, 1
jne 0x4d3780
int3
mov dword [ebp - 0x320], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x320]
jmp 0x4d4b5c
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 0x4d37f1
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x280], 1
movzx eax, byte [ebp - 0x22d]
test eax, eax
je 0x4d3862
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 + 0x500898]
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 0x4d38b7
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 0x4d394c
mov dword [ebp - 0x248], 0
jmp 0x4d3967
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x280]
jge 0x4d4a22
cmp dword [ebp - 0x248], 0
je 0x4d3a7c
mov dword [ebp - 0x200], 0
jmp 0x4d39a1
mov ecx, dword [ebp - 0x200]
add ecx, 1
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 8
jge 0x4d3a68
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 0x4d3992
mov eax, dword [ebp - 0x284]
add eax, 0x10
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x10], eax
jmp 0x4d3a8b
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.004d1cc0
add esp, 0x18
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
shr eax, 0xc
and eax, 0x1f
cmp eax, 0x1f
jne 0x4d3b35
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.004d1cc0
add esp, 0x18
mov ecx, dword [ebp - 0x160]
and ecx, 0xfffffffe
mov dword [ebp - 0x160], ecx
jmp 0x4d3b80
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.004d1cc0
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.004d1cc0
add esp, 0x18
movzx ecx, byte [ebp - 0x1f2]
test ecx, ecx
je 0x4d3bfc
xor edx, edx
jne 0x4d3bf5
push 0
push 0x4ee368
push 0
push 0x667
push 0x500c98
push 2
call fcn.00484e10
add esp, 0x18
cmp eax, 1
jne 0x4d3bf5
int3
xor eax, eax
jmp 0x4d4b5c
mov ecx, dword [ebp - 0x23c]
movzx edx, word [ecx]
and edx, 0x300
mov dword [ebp - 0x294], edx
je 0x4d3c45
cmp dword [ebp - 0x294], 0x200
je 0x4d3c39
cmp dword [ebp - 0x294], 0x300
je 0x4d3c2d
jmp 0x4d3c4f
mov dword [ebp - 0x2e8], 0
jmp 0x4d3c4f
mov dword [ebp - 0x2e8], 1
jmp 0x4d3c4f
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.0x4d3c82
mov eax, dword [ebp - 0x2cc]
jmp dword [eax*4 + 0x4d4ce4]
mov dword [ebp - 0x2ec], 0
jmp case.default.0x4d3c82
mov dword [ebp - 0x2ec], 1
jmp case.default.0x4d3c82
mov dword [ebp - 0x2ec], 2
jmp case.default.0x4d3c82
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 0x4d3d6b
mov dword [ebp - 0x2d0], 1
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x2bc], ecx
cmp dword [ebp - 0x2bc], 0x48
je 0x4d3d8b
cmp dword [ebp - 0x2bc], 0x6d
je 0x4d3d8b
jmp 0x4d3dc5
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.004d1800
add esp, 0x18
mov dword [ebp - 0x24c], eax
jmp 0x4d4a00
mov dword [ebp - 0x1f8], 0
jmp 0x4d3de0
mov edx, dword [ebp - 0x1f8]
add edx, 1
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0x2d0]
jae 0x4d4a00
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.004d26f0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x4d3f5c
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 0x4d3f7e
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 0x4d4081
cmp dword [ebp - 0x2a4], 1
je 0x4d3fe3
jmp 0x4d41bc
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 0x4d4015
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4d407c
cmp dword [ebp - 0x1f8], 1
jne 0x4d407c
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.0x4d41ed
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x1a0]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4d40aa
cmp dword [ebp - 0x1c8], 0x45
jne 0x4d41b7
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 1
je 0x4d40da
cmp dword [ebp - 0x288], 2
je 0x4d4113
cmp dword [ebp - 0x288], 3
je 0x4d4166
jmp 0x4d41b7
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 0x4d41b7
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 0x4d41b7
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.0x4d41ed
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.0x4d41ed
mov ecx, dword [ebp - 0x264]
movzx edx, byte [ecx + 0x4d4d00]
jmp dword [edx*4 + 0x4d4cf4]
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.0x4d41ed
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x110], ecx
jmp case.default.0x4d41ed
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 0x4d4291
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 0x4d42a0
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 0x4d4365
cmp dword [ebp - 0x2a8], 1
je 0x4d42c7
jmp 0x4d44bd
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 0x4d42f9
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4d4360
cmp dword [ebp - 0x1f8], 0
jne 0x4d4360
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.0x4d44ee
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x170]
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4d438e
cmp dword [ebp - 0x1c8], 0x45
jne 0x4d44b8
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
je 0x4d43be
cmp dword [ebp - 0x298], 1
je 0x4d4414
cmp dword [ebp - 0x298], 2
je 0x4d4467
jmp 0x4d44b8
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 0x4d44b8
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 0x4d44b8
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.0x4d44ee
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.0x4d44ee
mov eax, dword [ebp - 0x274]
movzx ecx, byte [eax + 0x4d4d18]
jmp dword [ecx*4 + 0x4d4d0c]
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.0x4d44ee
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*4 - 0x170]
mov dword [ebp - 0xf0], eax
jmp case.default.0x4d44ee
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 0x4d459b
cmp dword [ebp - 0x2b0], 1
je 0x4d4576
jmp 0x4d45b3
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.0x4d45e4
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4d45e4
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.0x4d45e4
mov ecx, dword [ebp - 0x258]
movzx edx, byte [ecx + 0x4d4d30]
jmp dword [edx*4 + 0x4d4d24]
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.0x4d45e4
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4d45e4
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 0x4d467c
cmp dword [ebp - 0x210], 2
jne 0x4d469a
lea edx, [ebp - 0x2fc]
push edx
call fcn.004d87a0
add esp, 4
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp + ecx*4 - 0x1e8], eax
jmp 0x4d46b6
lea edx, [ebp - 0x2fc]
push edx
call fcn.004d5a40
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 0x4d48db
mov edx, dword [ebp - 0x240]
mov eax, dword [edx]
shr eax, 5
and eax, 1
je 0x4d4700
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 0x4d4723
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 0x4d4746
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 0x4d4769
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 0x4d478b
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 0x4d47ab
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 0x4d48c5
cmp dword [ebp - 0x248], 0
je 0x4d48ba
mov dword [ebp - 0x200], 0
jmp 0x4d47f3
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 8
jge 0x4d48ba
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 0x4d47e4
mov eax, dword [ebp - 0x24c]
jmp 0x4d4b5c
lea edx, [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.004d13d0
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.0x4d49a1
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x2b8], edx
cmp dword [ebp - 0x2b8], 0
je 0x4d4958
cmp dword [ebp - 0x2b8], 1
je 0x4d4933
jmp 0x4d4970
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.0x4d49a1
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4d49a1
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.0x4d49a1
mov ecx, dword [ebp - 0x260]
movzx edx, byte [ecx + 0x4d4d48]
jmp dword [edx*4 + 0x4d4d3c]
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.0x4d49a1
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4d49a1
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 0x4d3dd1
mov edx, dword [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x150]
push ecx
call fcn.004d2800
add esp, 0xc
jmp 0x4d3958
cmp dword [ebp - 0x280], 1
jle 0x4d4b11
mov dword [ebp - 0x200], 0
jmp 0x4d4a4a
mov edx, dword [ebp - 0x200]
add edx, 1
mov dword [ebp - 0x200], edx
cmp dword [ebp - 0x200], 8
jge 0x4d4b11
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 0x4d4a3b
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.00494200
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret