Function at 0x4bdeb1
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 0x4e9760
push 0x470d30
mov eax, dword fs:[0]
push eax
sub esp, 8
push ebx
push ecx
sub esp, 0x334
mov eax, dword [0x4ece40]
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 0x4bdcfb
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 0x4bfd3c
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 0x4bdd4d
xor eax, eax
jne 0x4bdd44
push 0
push 0x4d7f34
push 0
push 0x3c1
push 0x4e8438
push 2
call fcn.00471b50
add esp, 0x18
cmp eax, 1
jne 0x4bdd44
int3
xor eax, eax
jmp 0x4bfd3c
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 0x4be13e
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.0x4bde4c.1
mov ecx, dword [ebp - 0x278]
movzx edx, byte [ecx + 0x4bfd7c]
jmp dword [edx*4 + 0x4bfd5c]
mov byte [ebp - 0x1f1], 1
mov eax, dword [ebp - 0x214]
add eax, 1
mov dword [ebp - 0x214], eax
jmp 0x4be139
mov dword [ebp - 0x210], 1
mov ecx, dword [ebp - 0x214]
add ecx, 1
mov dword [ebp - 0x214], ecx
jmp 0x4be139
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
mov edx, dword [ebp - 0x214]
add edx, 1
mov dword [ebp - 0x214], edx
jmp 0x4be139
mov byte [ebp - 0x1f2], 1
jmp 0x4be139
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 0x4bdf17
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x209]
and ecx, 3
cmp ecx, 2
jne 0x4bdf2d
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x209]
and edx, 3
cmp edx, 3
jne 0x4bdf4d
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x209]
and eax, 4
je 0x4bdf65
mov dword [ebp - 0x2c0], 1
jmp 0x4bdf6f
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 0x4bdfda
cmp dword [ebp - 0x29c], 2
je 0x4bdfe3
cmp dword [ebp - 0x29c], 3
je 0x4bdfec
jmp 0x4bdff5
mov byte [ebp - 0x20b], 0xf
jmp 0x4be038
mov byte [ebp - 0x20b], 0x38
jmp 0x4be038
mov byte [ebp - 0x20b], 0x3a
jmp 0x4be038
xor eax, eax
jne 0x4be01c
push 0
push 0x4d7f34
push 0
push 0x43d
push 0x4e8438
push 2
call fcn.00471b50
add esp, 0x18
cmp eax, 1
jne 0x4be01c
int3
mov dword [ebp - 0x338], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x338]
jmp 0x4bfd3c
mov edx, dword [ebp - 0x214]
add edx, 2
mov dword [ebp - 0x214], edx
mov byte [ebp - 0x216], 0
jmp 0x4be139
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 0x4be090
mov dword [ebp - 0x210], 1
movzx ecx, byte [ebp - 0x201]
and ecx, 3
cmp ecx, 2
jne 0x4be0a6
mov byte [ebp - 0x1f1], 1
movzx edx, byte [ebp - 0x201]
and edx, 3
cmp edx, 3
jne 0x4be0c6
mov byte [ebp - 0x1f1], 1
mov dword [ebp - 0x210], 1
movzx eax, byte [ebp - 0x201]
and eax, 4
je 0x4be0de
mov dword [ebp - 0x2d4], 1
jmp 0x4be0e8
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 0x4be139
mov byte [ebp - 0x1f2], 1
jmp 0x4be139
mov byte [ebp - 0x216], 0
jmp 0x4bdde7
mov dword [ebp - 4], 0xfffffffe
jmp 0x4be1d3
movzx eax, byte [ebp - 0x1f2]
test eax, eax
je 0x4be20c
xor ecx, ecx
jne 0x4be205
push 0
push 0x4d7f34
push 0
push 0x47b
push 0x4e8438
push 2
call fcn.00471b50
add esp, 0x18
cmp eax, 1
jne 0x4be205
int3
xor eax, eax
jmp 0x4bfd3c
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 0x4be25a
movzx eax, byte [ebp - 0x20a]
test eax, eax
je 0x4be28e
movzx ecx, byte [ebp - 0x20b]
cmp ecx, 0xf
je 0x4be280
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 0x4be2ba
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 0x4be2ba
mov byte [ebp - 0x1f2], 1
jmp 0x4bea97
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.0x4be2e8.2
mov eax, dword [ebp - 0x268]
jmp dword [eax*4 + 0x4bfe4c]
mov dword [ebp - 0x234], 0x4e7868
jmp 0x4be44b
mov dword [ebp - 0x234], 0x4e7968
jmp 0x4be44b
mov dword [ebp - 0x234], 0x4e7a68
jmp 0x4be44b
mov dword [ebp - 0x234], 0x4e7d68
jmp 0x4be44b
mov dword [ebp - 0x234], 0x4e7b68
movzx ecx, byte [ebp - 0x1f1]
test ecx, ecx
je 0x4be34a
mov dword [ebp - 0x210], 0
jmp 0x4be44b
mov dword [ebp - 0x234], 0x4e7c68
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4be36e
mov dword [ebp - 0x210], 0
jmp 0x4be44b
cmp dword [ebp - 0x254], 0xa
jne 0x4be431
mov dword [ebp - 0x25c], 1
movzx eax, byte [ebp - 0x217]
movzx ecx, byte [ebp - 0x20a]
or eax, ecx
jne 0x4be3ba
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 0x4be40b
cmp dword [ebp - 0x2ac], 4
je 0x4be417
jmp 0x4be423
mov dword [ebp - 0x234], 0x4e7e68
jmp 0x4be42f
mov dword [ebp - 0x234], 0x4e7ee8
jmp 0x4be42f
mov byte [ebp - 0x1f2], 1
jmp 0x4bea97
jmp 0x4be43d
mov byte [ebp - 0x1f2], 1
jmp 0x4bea97
jmp 0x4be44b
mov byte [ebp - 0x1f2], 1
jmp 0x4bea97
mov ecx, dword [ebp - 0x224]
mov edx, dword [ecx]
shr edx, 0xe
and edx, 3
cmp edx, 3
jne 0x4be46a
mov dword [ebp - 0x2c8], 0
jmp 0x4be474
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 0x4be4ab
mov byte [ebp - 0x1f2], 1
jmp 0x4bea97
cmp dword [ebp - 0x25c], 1
jne 0x4be5f1
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 0x4be505
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4be505
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
jne 0x4be511
mov dword [ebp - 0x210], 1
jmp 0x4be561
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x46
je 0x4be549
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x47
je 0x4be549
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x48
jne 0x4be555
mov dword [ebp - 0x210], 0
jmp 0x4be561
mov byte [ebp - 0x1f2], 1
jmp 0x4bea97
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x6b
je 0x4be5ab
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x46
je 0x4be5ab
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x6d
je 0x4be5ab
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x48
jne 0x4be5b4
mov byte [ebp - 0x1f1], 0
jmp 0x4be5ef
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6c
je 0x4be5da
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x47
jne 0x4be5e3
mov byte [ebp - 0x1f1], 1
jmp 0x4be5ef
mov byte [ebp - 0x1f2], 1
jmp 0x4bea97
jmp 0x4be60f
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 0x4be62d
mov byte [ebp - 0x1f2], 1
jmp 0x4bea97
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0xc
and ecx, 0x1f
cmp ecx, 0x1e
jne 0x4be694
movzx edx, byte [ebp - 0x1f1]
test edx, edx
je 0x4be668
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x4e7fec]
mov dword [ebp - 0x1fc], edx
jmp 0x4be683
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
shr ecx, 0x11
and ecx, 0x1f
lea edx, [ecx*4 + 0x4e7fe8]
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 0x4be6cc
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x44
je 0x4be6cc
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x45
jne 0x4be6d3
mov byte [ebp - 0x1f1], 0
mov eax, dword [ebp - 0x1fc]
mov ecx, dword [eax]
and ecx, 0xfff
cmp ecx, 0x68
je 0x4be70b
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
and eax, 0xfff
cmp eax, 0x69
je 0x4be70b
mov ecx, dword [ebp - 0x1fc]
mov edx, dword [ecx]
and edx, 0xfff
cmp edx, 0x6a
jne 0x4be715
mov dword [ebp - 0x210], 1
cmp dword [ebp - 0x25c], 0
jne 0x4be73d
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 0x4be751
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 0x4be767
movzx eax, byte [ebp - 0x20a]
test eax, eax
je case.0x4be7a0.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.0x4be7a0.1
mov ecx, dword [ebp - 0x26c]
movzx edx, byte [ecx + 0x4bfe88]
jmp dword [edx*4 + 0x4bfe80]
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 0x4be9bb
mov ecx, dword [ebp - 0x21c]
mov edx, dword [ecx]
and edx, 0x10040
cmp edx, 0x10040
jne 0x4be9bb
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 0x4be8a0
xor eax, eax
jne 0x4be884
push 0
push 0x4d7f34
push 0
push 0x5de
push 0x4e8438
push 2
call fcn.00471b50
add esp, 0x18
cmp eax, 1
jne 0x4be884
int3
mov dword [ebp - 0x33c], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x33c]
jmp 0x4bfd3c
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 0x4be921
xor edx, edx
jne 0x4be905
push 0
push 0x4d7f34
push 0
push 0x5e9
push 0x4e8438
push 2
call fcn.00471b50
add esp, 0x18
cmp eax, 1
jne 0x4be905
int3
mov dword [ebp - 0x318], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x318]
jmp 0x4bfd3c
lea ecx, [ebp - 0x308]
push ecx
mov edx, dword [ebp - 0x21c]
push edx
call dword [ebp - 0x334]
test eax, eax
jne 0x4be97c
xor eax, eax
jne 0x4be960
push 0
push 0x4d7f34
push 0
push 0x5f3
push 0x4e8438
push 2
call fcn.00471b50
add esp, 0x18
cmp eax, 1
jne 0x4be960
int3
mov dword [ebp - 0x320], 0
mov dword [ebp - 4], 0xfffffffe
mov eax, dword [ebp - 0x320]
jmp 0x4bfd3c
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 0x4be9d1
mov edx, dword [ebp - 0x344]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x280], 1
movzx eax, byte [ebp - 0x22d]
test eax, eax
je 0x4bea42
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 + 0x4e8038]
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 0x4bea97
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 0x4beb2c
mov dword [ebp - 0x248], 0
jmp 0x4beb47
mov edx, dword [ebp - 0x248]
add edx, 1
mov dword [ebp - 0x248], edx
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x280]
jge 0x4bfc02
cmp dword [ebp - 0x248], 0
je 0x4bec5c
mov dword [ebp - 0x200], 0
jmp 0x4beb81
mov ecx, dword [ebp - 0x200]
add ecx, 1
mov dword [ebp - 0x200], ecx
cmp dword [ebp - 0x200], 8
jge 0x4bec48
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 0x4beb72
mov eax, dword [ebp - 0x284]
add eax, 0x10
mov ecx, dword [ebp - 0x23c]
mov dword [ecx + 0x10], eax
jmp 0x4bec6b
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.004bcea0
add esp, 0x18
mov edx, dword [ebp - 0x1fc]
mov eax, dword [edx]
shr eax, 0xc
and eax, 0x1f
cmp eax, 0x1f
jne 0x4bed15
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.004bcea0
add esp, 0x18
mov ecx, dword [ebp - 0x160]
and ecx, 0xfffffffe
mov dword [ebp - 0x160], ecx
jmp 0x4bed60
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.004bcea0
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.004bcea0
add esp, 0x18
movzx ecx, byte [ebp - 0x1f2]
test ecx, ecx
je 0x4beddc
xor edx, edx
jne 0x4bedd5
push 0
push 0x4d7f34
push 0
push 0x667
push 0x4e8438
push 2
call fcn.00471b50
add esp, 0x18
cmp eax, 1
jne 0x4bedd5
int3
xor eax, eax
jmp 0x4bfd3c
mov ecx, dword [ebp - 0x23c]
movzx edx, word [ecx]
and edx, 0x300
mov dword [ebp - 0x294], edx
je 0x4bee25
cmp dword [ebp - 0x294], 0x200
je 0x4bee19
cmp dword [ebp - 0x294], 0x300
je 0x4bee0d
jmp 0x4bee2f
mov dword [ebp - 0x2e8], 0
jmp 0x4bee2f
mov dword [ebp - 0x2e8], 1
jmp 0x4bee2f
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.0x4bee62
mov eax, dword [ebp - 0x2cc]
jmp dword [eax*4 + 0x4bfec4]
mov dword [ebp - 0x2ec], 0
jmp case.default.0x4bee62
mov dword [ebp - 0x2ec], 1
jmp case.default.0x4bee62
mov dword [ebp - 0x2ec], 2
jmp case.default.0x4bee62
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 0x4bef4b
mov dword [ebp - 0x2d0], 1
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x2bc], ecx
cmp dword [ebp - 0x2bc], 0x48
je 0x4bef6b
cmp dword [ebp - 0x2bc], 0x6d
je 0x4bef6b
jmp 0x4befa5
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.004bc9e0
add esp, 0x18
mov dword [ebp - 0x24c], eax
jmp 0x4bfbe0
mov dword [ebp - 0x1f8], 0
jmp 0x4befc0
mov edx, dword [ebp - 0x1f8]
add edx, 1
mov dword [ebp - 0x1f8], edx
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0x2d0]
jae 0x4bfbe0
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.004bd8d0
add esp, 0xc
movzx edx, al
test edx, edx
je 0x4bf13c
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 0x4bf15e
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 0x4bf261
cmp dword [ebp - 0x2a4], 1
je 0x4bf1c3
jmp 0x4bf39c
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 0x4bf1f5
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4bf25c
cmp dword [ebp - 0x1f8], 1
jne 0x4bf25c
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.0x4bf3cd
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x1a0]
mov dword [ebp - 0x110], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4bf28a
cmp dword [ebp - 0x1c8], 0x45
jne 0x4bf397
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x288], eax
cmp dword [ebp - 0x288], 1
je 0x4bf2ba
cmp dword [ebp - 0x288], 2
je 0x4bf2f3
cmp dword [ebp - 0x288], 3
je 0x4bf346
jmp 0x4bf397
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 0x4bf397
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 0x4bf397
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.0x4bf3cd
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.0x4bf3cd
mov ecx, dword [ebp - 0x264]
movzx edx, byte [ecx + 0x4bfee0]
jmp dword [edx*4 + 0x4bfed4]
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.0x4bf3cd
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x1a0]
mov dword [ebp - 0x110], ecx
jmp case.default.0x4bf3cd
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 0x4bf471
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 0x4bf480
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 0x4bf545
cmp dword [ebp - 0x2a8], 1
je 0x4bf4a7
jmp 0x4bf69d
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 0x4bf4d9
cmp dword [ebp - 0x1c8], 0x6a
jne 0x4bf540
cmp dword [ebp - 0x1f8], 0
jne 0x4bf540
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.0x4bf6ce
mov ecx, dword [ebp - 0x1f8]
mov edx, dword [ebp + ecx*4 - 0x170]
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0x1c8], 0x44
je 0x4bf56e
cmp dword [ebp - 0x1c8], 0x45
jne 0x4bf698
mov eax, dword [ebp - 0x1f8]
mov dword [ebp - 0x298], eax
cmp dword [ebp - 0x298], 0
je 0x4bf59e
cmp dword [ebp - 0x298], 1
je 0x4bf5f4
cmp dword [ebp - 0x298], 2
je 0x4bf647
jmp 0x4bf698
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 0x4bf698
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 0x4bf698
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.0x4bf6ce
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.0x4bf6ce
mov eax, dword [ebp - 0x274]
movzx ecx, byte [eax + 0x4bfef8]
jmp dword [ecx*4 + 0x4bfeec]
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.0x4bf6ce
mov edx, dword [ebp - 0x1f8]
mov eax, dword [ebp + edx*4 - 0x170]
mov dword [ebp - 0xf0], eax
jmp case.default.0x4bf6ce
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 0x4bf77b
cmp dword [ebp - 0x2b0], 1
je 0x4bf756
jmp 0x4bf793
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.0x4bf7c4
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4bf7c4
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.0x4bf7c4
mov ecx, dword [ebp - 0x258]
movzx edx, byte [ecx + 0x4bff10]
jmp dword [edx*4 + 0x4bff04]
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.0x4bf7c4
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp + eax*4 - 0x140]
mov dword [ebp - 0xd0], ecx
jmp case.default.0x4bf7c4
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 0x4bf85c
cmp dword [ebp - 0x210], 2
jne 0x4bf87a
lea edx, [ebp - 0x2fc]
push edx
call fcn.004c3980
add esp, 4
mov ecx, dword [ebp - 0x1f8]
mov dword [ebp + ecx*4 - 0x1e8], eax
jmp 0x4bf896
lea edx, [ebp - 0x2fc]
push edx
call fcn.004c0c20
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 0x4bfabb
mov edx, dword [ebp - 0x240]
mov eax, dword [edx]
shr eax, 5
and eax, 1
je 0x4bf8e0
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 0x4bf903
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 0x4bf926
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 0x4bf949
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 0x4bf96b
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 0x4bf98b
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 0x4bfaa5
cmp dword [ebp - 0x248], 0
je 0x4bfa9a
mov dword [ebp - 0x200], 0
jmp 0x4bf9d3
mov eax, dword [ebp - 0x200]
add eax, 1
mov dword [ebp - 0x200], eax
cmp dword [ebp - 0x200], 8
jge 0x4bfa9a
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 0x4bf9c4
mov eax, dword [ebp - 0x24c]
jmp 0x4bfd3c
lea edx, [ebp - 0x2fc]
push edx
mov eax, dword [ebp - 0x1c8]
push eax
call fcn.004bc5b0
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.0x4bfb81
mov edx, dword [ebp - 0x210]
mov dword [ebp - 0x2b8], edx
cmp dword [ebp - 0x2b8], 0
je 0x4bfb38
cmp dword [ebp - 0x2b8], 1
je 0x4bfb13
jmp 0x4bfb50
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.0x4bfb81
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4bfb81
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.0x4bfb81
mov ecx, dword [ebp - 0x260]
movzx edx, byte [ecx + 0x4bff28]
jmp dword [edx*4 + 0x4bff1c]
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.0x4bfb81
mov eax, dword [ebp - 0x1f8]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp + eax*4 - 0x140], ecx
jmp case.default.0x4bfb81
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 0x4befb1
mov edx, dword [ebp - 0x1c0]
push edx
mov eax, dword [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x150]
push ecx
call fcn.004bd9e0
add esp, 0xc
jmp 0x4beb38
cmp dword [ebp - 0x280], 1
jle 0x4bfcf1
mov dword [ebp - 0x200], 0
jmp 0x4bfc2a
mov edx, dword [ebp - 0x200]
add edx, 1
mov dword [ebp - 0x200], edx
cmp dword [ebp - 0x200], 8
jge 0x4bfcf1
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 0x4bfc1b
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.004809a0
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret