Function at 0x4c5590
Capabilities:
Check os version

Disassembly:
push 0xffffffffffffffff
push 0x6b2ad9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x150
push ebx
xor eax, eax
push esi
push edi
mov esi, ecx
mov dword [esp + 0x30], eax
mov cl, byte [esp + 0x2f]
mov dword [esp + 0x164], 1
mov byte [esp + 0x14], cl
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x34]
mov byte [esp + 0x164], 2
call fcn.0060fe70
push 6
push 0x705c74
lea ecx, [esp + 0x18]
mov byte [esp + 0x16c], 3
call fcn.0060ff10
push 4
lea ecx, [esp + 0x174]
mov byte [esp + 0x168], 4
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.00610190
mov bl, al
push 5
and ebx, 0xff
lea ecx, [esp + 0x174]
shl ebx, 8
call fcn.00610190
and eax, 0xff
add eax, ebx
cmp eax, 0x101
jg 0x4c5f1b
je 0x4c5efc
dec eax
cmp eax, 0x10
ja case.default.0x4c6f22
jmp dword [eax*4 + 0x4c7494]
mov al, byte [esi + 0x2e8]
and eax, 3
cmp eax, 3
ja case.default.0x4c5674
jmp dword [eax*4 + 0x4c74d8]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1610
jmp 0x4c56b3
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1777
push eax
jmp 0x4c56b4
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1778
push ecx
jmp 0x4c56b4
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1779
push edx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0xa0]
push ecx
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x164], 5
cmp eax, ebx
jae 0x4c56ff
mov ebx, eax
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x4c5724
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140d0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
jmp 0x4c57ad
test ebx, ebx
jbe 0x4c5771
cmp ebx, ecx
jne 0x4c5771
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c5738
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c5771
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c5755
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4c57ad
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c57ad
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c578d
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0xa0]
mov byte [esp + 0x164], 4
test eax, eax
je case.default.0x4c6f22
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c6c4f
cmp al, 0xff
je 0x4c6c4f
dec al
mov byte [ecx], al
jmp case.default.0x4c6f22
mov al, byte [esi + 0x2ed]
and eax, 3
cmp eax, 3
ja case.default.0x4c57f1
jmp dword [eax*4 + 0x4c74e8]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1107
push edx
jmp 0x4c5823
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1778
push eax
jmp 0x4c5823
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1779
push ecx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x150]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x164], 6
cmp eax, ebx
jae 0x4c586e
mov ebx, eax
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x4c58a2
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140d0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x150]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
test ebx, ebx
jbe 0x4c593b
cmp ebx, ecx
jne 0x4c593b
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c58be
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c593b
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4c58e9
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c58e0
cmp al, 0xff
je 0x4c58e0
dec al
mov byte [ecx], al
jmp 0x4c58e9
push ecx
call fcn.00697880
add esp, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c590d
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x164], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x150]
jmp 0x4c57bc
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c5975
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c5957
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.004141f0
mov eax, dword [esp + 0x150]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
xor eax, eax
mov al, byte [esi + 0x2ec]
cmp eax, 3
ja case.default.0x4c5996
jmp dword [eax*4 + 0x4c74f8]
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1107
push ecx
jmp 0x4c59e5
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1106
jmp 0x4c59e4
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31ab
push eax
jmp 0x4c59e5
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ac
push ecx
jmp 0x4c59e5
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x12ff
push edx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0xe0]
push ecx
call fcn.0060f170
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x6ce1fc]
mov ebx, ecx
mov byte [esp + 0x164], 7
cmp eax, ebx
jae 0x4c5a30
mov ebx, eax
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x4c5a64
push eax
push ebx
lea ecx, [esp + 0x1c]
call fcn.004140d0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0xe0]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
test ebx, ebx
jbe 0x4c5afd
cmp ebx, ecx
jne 0x4c5afd
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c5a80
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c5afd
mov eax, dword [esp + 0x18]
test eax, eax
je 0x4c5aab
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c5aa2
cmp al, 0xff
je 0x4c5aa2
dec al
mov byte [ecx], al
jmp 0x4c5aab
push ecx
call fcn.00697880
add esp, 4
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], 0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c5acf
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x164], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0xe0]
jmp 0x4c57bc
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c5b37
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c5b19
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.004141f0
mov eax, dword [esp + 0xe0]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
mov dl, byte [esi + 0x2e9]
lea ecx, [esp + 0x14]
push ecx
push 0x1243
and dl, 1
push 0x1252
push edx
mov ecx, esi
call fcn.004c7730
jmp case.default.0x4c6f22
mov cl, byte [esi + 0x2ea]
lea eax, [esp + 0x14]
push eax
push 0x1056
and cl, 1
push 0x1055
push ecx
mov ecx, esi
call fcn.004c7730
jmp case.default.0x4c6f22
mov al, byte [esi + 0x2ec]
lea edx, [esp + 0x14]
push edx
push 0x1227
and al, 2
push 0x1173
push eax
mov ecx, esi
call fcn.004c7730
jmp case.default.0x4c6f22
mov dl, byte [esi + 0x2ee]
lea ecx, [esp + 0x14]
push ecx
push 0x1243
and dl, 2
push 0x1252
push edx
mov ecx, esi
call fcn.004c7730
jmp case.default.0x4c6f22
mov cl, byte [esi + 0x2ed]
lea eax, [esp + 0x14]
push eax
push 0x314f
and cl, 1
push 0x1173
push ecx
mov ecx, esi
call fcn.004c7730
jmp case.default.0x4c6f22
xor edx, edx
mov dl, byte [esi + 0x2e8]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
mov al, byte [esi + 0x2e9]
and eax, 0xf
dec eax
cmp eax, 3
ja case.default.0x4c5c2b
jmp dword [eax*4 + 0x4c7508]
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1543
push ecx
jmp 0x4c5c7a
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1544
jmp 0x4c5c79
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1545
push eax
jmp 0x4c5c7a
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1942
push ecx
jmp 0x4c5c7a
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1539
push edx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x80]
push ecx
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x164], 8
cmp edi, ebx
jae 0x4c5cc6
mov ebx, edi
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x4c5d49
cmp dword [esp + 0x1c], ebx
jae 0x4c5cd9
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, ebx
cmp eax, edi
jae 0x4c5cee
mov edi, eax
test edi, edi
jbe 0x4c5d28
mov ecx, dword [esp + 0x18]
sub eax, edi
add ecx, ebx
push eax
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push 0
push esi
call fcn.00414210
test al, al
je 0x4c5d28
push esi
lea ecx, [esp + 0x18]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x80]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
test ebx, ebx
jbe 0x4c5da8
cmp ebx, eax
jne 0x4c5da8
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c5d5d
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c5da8
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c5d7a
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x164], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x80]
jmp 0x4c57bc
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c5de2
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c5dc4
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.004141f0
mov eax, dword [esp + 0x80]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
mov cl, byte [esi + 0x2e9]
lea eax, [esp + 0x14]
push eax
push 0x1252
and cl, 4
push 0x1243
push ecx
mov ecx, esi
call fcn.004c7730
jmp case.default.0x4c6f22
xor edx, edx
lea eax, [esp + 0x38]
mov dl, byte [esi + 0x2eb]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x6ce240]
fstp qword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
push ecx
push edx
push str._.2f
push eax
call fcn.00698355
add esp, 0x10
jmp 0x4c6e7b
xor eax, eax
mov al, byte [esi + 0x2ec]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [0x6cf7e0]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
xor ecx, ecx
mov cl, byte [esi + 0x2e8]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x6cf7e0]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
xor edx, edx
mov dl, byte [esi + 0x2ed]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x6cf7e0]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
mov cl, byte [esi + 0x2eb]
lea eax, [esp + 0x14]
push eax
push 0x1061
and cl, 0x40
push 0x1060
push ecx
mov ecx, esi
call fcn.004c7730
jmp case.default.0x4c6f22
mov al, byte [esi + 0x2eb]
lea edx, [esp + 0x14]
push edx
push 0x1346
and al, 0x80
push 0x1345
push eax
mov ecx, esi
call fcn.004c7730
jmp case.default.0x4c6f22
xor ecx, ecx
mov cl, byte [esi + 0x2eb]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x6cf7d8]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
cmp eax, 0x201
jg 0x4c6f14
je 0x4c6c5d
add eax, 0xfffffefe
cmp eax, 0xc
ja case.default.0x4c6f22
jmp dword [eax*4 + 0x4c7518]
xor edx, edx
mov dl, byte [esi + 0x2e8]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x6cf7d8]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
xor eax, eax
mov al, byte [esi + 0x2e9]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [0x6cf7d8]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
xor ecx, ecx
mov cl, byte [esi + 0x2ea]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x6cf7d8]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
mov al, byte [esi + 0x2e8]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c5fb3
jmp dword [eax*4 + 0x4c754c]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1290
push edx
jmp 0x4c602e
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31ad
jmp 0x4c602d
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ae
push ecx
jmp 0x4c602e
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31af
push edx
jmp 0x4c602e
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b0
jmp 0x4c602d
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b1
push ecx
jmp 0x4c602e
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b2
push edx
jmp 0x4c602e
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b3
push eax
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x120]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x164], 9
cmp edi, ebx
jae 0x4c607a
mov ebx, edi
lea ecx, [esp + 0x14]
cmp ecx, esi
jne 0x4c60fe
cmp dword [esp + 0x1c], ebx
jae 0x4c608d
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, ebx
cmp eax, edi
jae 0x4c60a2
mov edi, eax
test edi, edi
jbe 0x4c60dd
mov edx, dword [esp + 0x18]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push 0
push esi
call fcn.00414210
test al, al
je 0x4c60dd
push esi
lea ecx, [esp + 0x18]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x120]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
test ebx, ebx
jbe 0x4c615d
cmp ebx, eax
jne 0x4c615d
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c6112
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c615d
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c612f
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x164], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x120]
jmp 0x4c57bc
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c6197
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c6179
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.004141f0
mov eax, dword [esp + 0x120]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
mov al, byte [esi + 0x2e8]
and eax, 7
cmp eax, 7
ja case.default.0x4c61bd
jmp dword [eax*4 + 0x4c756c]
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1290
push ecx
jmp 0x4c6238
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31ad
jmp 0x4c6237
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31ae
push eax
jmp 0x4c6238
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31af
push ecx
jmp 0x4c6238
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b0
jmp 0x4c6237
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b1
push eax
jmp 0x4c6238
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b2
push ecx
jmp 0x4c6238
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b3
push edx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x50]
push ecx
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x164], 0xa
cmp edi, ebx
jae 0x4c6281
mov ebx, edi
lea edx, [esp + 0x14]
cmp edx, esi
jne 0x4c6301
cmp dword [esp + 0x1c], ebx
jae 0x4c6294
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, ebx
cmp eax, edi
jae 0x4c62a9
mov edi, eax
test edi, edi
jbe 0x4c62e3
mov ecx, dword [esp + 0x18]
sub eax, edi
add ecx, ebx
push eax
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push 0
push esi
call fcn.00414210
test al, al
je 0x4c62e3
push esi
lea ecx, [esp + 0x18]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x50]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
test ebx, ebx
jbe 0x4c635d
cmp ebx, eax
jne 0x4c635d
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c6315
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c635d
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c6332
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x164], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x50]
jmp 0x4c57bc
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c6397
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c6379
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov edx, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x18]
call fcn.004141f0
mov eax, dword [esp + 0x50]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
mov al, byte [esi + 0x2e9]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c63bd
jmp dword [eax*4 + 0x4c758c]
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1290
push eax
jmp 0x4c6438
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ad
jmp 0x4c6437
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31ae
push edx
jmp 0x4c6438
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31af
push eax
jmp 0x4c6438
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b0
jmp 0x4c6437
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b1
push edx
jmp 0x4c6438
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b2
push eax
jmp 0x4c6438
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b3
push ecx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x100]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x164], 0xb
cmp edi, ebx
jae 0x4c6484
mov ebx, edi
lea ecx, [esp + 0x14]
cmp ecx, esi
jne 0x4c6508
cmp dword [esp + 0x1c], ebx
jae 0x4c6497
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, ebx
cmp eax, edi
jae 0x4c64ac
mov edi, eax
test edi, edi
jbe 0x4c64e7
mov edx, dword [esp + 0x18]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push 0
push esi
call fcn.00414210
test al, al
je 0x4c64e7
push esi
lea ecx, [esp + 0x18]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x100]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
test ebx, ebx
jbe 0x4c6567
cmp ebx, eax
jne 0x4c6567
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c651c
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c6567
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c6539
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x164], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x100]
jmp 0x4c57bc
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c65a3
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c6583
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0x100]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
xor edx, edx
mov dl, byte [esi + 0x2eb]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x6cf7d8]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
xor eax, eax
mov al, byte [esi + 0x2e8]
mov dword [esp + 0xc], eax
fild dword [esp + 0xc]
fmul qword [0x6cf7d8]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
xor ecx, ecx
mov cl, byte [esi + 0x2e9]
mov dword [esp + 0xc], ecx
fild dword [esp + 0xc]
fmul qword [0x6cf7d8]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
xor edx, edx
mov dl, byte [esi + 0x2ea]
mov dword [esp + 0xc], edx
fild dword [esp + 0xc]
fmul qword [0x6cf7d8]
fstp qword [esp + 0x24]
jmp case.default.0x4c6f22
mov al, byte [esi + 0x2ea]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c6648
jmp dword [eax*4 + 0x4c75ac]
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1290
push eax
jmp 0x4c66c3
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ad
jmp 0x4c66c2
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31ae
push edx
jmp 0x4c66c3
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31af
push eax
jmp 0x4c66c3
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b0
jmp 0x4c66c2
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b1
push edx
jmp 0x4c66c3
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b2
push eax
jmp 0x4c66c3
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b3
push ecx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xc0]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x164], 0xc
cmp edi, ebx
jae 0x4c670f
mov ebx, edi
lea ecx, [esp + 0x14]
cmp ecx, esi
jne 0x4c6792
cmp dword [esp + 0x1c], ebx
jae 0x4c6722
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, ebx
cmp eax, edi
jae 0x4c6737
mov edi, eax
test edi, edi
jbe 0x4c6771
mov edx, dword [esp + 0x18]
sub eax, edi
add ebx, edx
push eax
lea ecx, [edi + ebx]
push ecx
push ebx
call fcn.00698020
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push 0
push esi
call fcn.00414210
test al, al
je 0x4c6771
push esi
lea ecx, [esp + 0x18]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
test ebx, ebx
jbe 0x4c67f1
cmp ebx, eax
jne 0x4c67f1
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c67a6
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c67f1
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c67c3
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x164], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0xc0]
jmp 0x4c57bc
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c682d
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c680d
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0xc0]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
mov al, byte [esi + 0x2ea]
and eax, 7
cmp eax, 7
ja case.default.0x4c6853
jmp dword [eax*4 + 0x4c75cc]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1290
push edx
jmp 0x4c68ce
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31ad
jmp 0x4c68cd
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ae
push ecx
jmp 0x4c68ce
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31af
push edx
jmp 0x4c68ce
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b0
jmp 0x4c68cd
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b1
push ecx
jmp 0x4c68ce
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b2
push edx
jmp 0x4c68ce
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b3
push eax
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x140]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x164], 0xd
cmp edi, ebx
jae 0x4c691a
mov ebx, edi
lea ecx, [esp + 0x14]
cmp ecx, esi
jne 0x4c699e
cmp dword [esp + 0x1c], ebx
jae 0x4c692d
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, ebx
cmp eax, edi
jae 0x4c6942
mov edi, eax
test edi, edi
jbe 0x4c697d
mov edx, dword [esp + 0x18]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push 0
push esi
call fcn.00414210
test al, al
je 0x4c697d
push esi
lea ecx, [esp + 0x18]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
mov eax, dword [esp + 0x140]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
test ebx, ebx
jbe 0x4c69fd
cmp ebx, eax
jne 0x4c69fd
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c69b2
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c69fd
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c69cf
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0x164], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x140]
jmp 0x4c57bc
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c6a39
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c6a19
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0x140]
mov byte [esp + 0x164], 4
jmp 0x4c57bc
mov al, byte [esi + 0x2eb]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c6a62
jmp dword [eax*4 + 0x4c75ec]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1290
push edx
jmp 0x4c6add
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31ad
jmp 0x4c6adc
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ae
push ecx
jmp 0x4c6add
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31af
push edx
jmp 0x4c6add
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b0
jmp 0x4c6adc
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b1
push ecx
jmp 0x4c6add
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b2
push edx
jmp 0x4c6add
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b3
push eax
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x60]
push eax
call fcn.0060f170
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x6ce1fc]
mov ebx, eax
mov byte [esp + 0x164], 0xe
cmp edi, ebx
jae 0x4c6b26
mov ebx, edi
lea ecx, [esp + 0x14]
cmp ecx, esi
jne 0x4c6b9b
cmp dword [esp + 0x1c], ebx
jae 0x4c6b39
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, ebx
cmp eax, edi
jae 0x4c6b4e
mov edi, eax
test edi, edi
jbe 0x4c6b89
mov edx, dword [esp + 0x18]
sub eax, edi
push eax
lea ecx, [edx + ebx]
lea edx, [ecx + edi]
push edx
push ecx
call fcn.00698020
mov esi, dword [esp + 0x28]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x14]
push 0
push esi
call fcn.00414210
test al, al
je 0x4c6b89
push esi
lea ecx, [esp + 0x18]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
jmp 0x4c6c24
test ebx, ebx
jbe 0x4c6be8
cmp ebx, eax
jne 0x4c6be8
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c6baf
mov eax, 0x6ce1f8
cmp byte [eax - 1], 0xfe
jae 0x4c6be8
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4c6bcc
mov eax, 0x6ce1f8
mov dword [esp + 0x18], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x20], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4c6c24
push 1
push ebx
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c6c24
mov esi, dword [esi + 4]
test esi, esi
jne 0x4c6c04
mov esi, 0x6ce1f8
mov edi, dword [esp + 0x18]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov byte [ecx + ebx], 0
mov eax, dword [esp + 0x60]
mov byte [esp + 0x164], 4
test eax, eax
je case.default.0x4c6f22
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4c6c4f
cmp al, 0xff
je 0x4c6c4f
dec al
mov byte [ecx], al
jmp case.default.0x4c6f22
push ecx
call fcn.00697880
add esp, 4
jmp case.default.0x4c6f22
mov al, byte [esi + 0x2e8]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c6c72
jmp dword [eax*4 + 0x4c760c]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1643
push edx
jmp 0x4c6ced
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1107
jmp 0x4c6cec
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1730
push ecx
jmp 0x4c6ced
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b4
push edx
jmp 0x4c6ced
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b5
jmp 0x4c6cec
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ab
push ecx
jmp 0x4c6ced
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1780
push edx
jmp 0x4c6ced
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b6
push eax
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x70]
push eax
call fcn.0060f170
add esp, 8
mov ebx, eax
mov esi, dword [0x6ce1fc]
mov edi, dword [ebx + 8]
cmp esi, edi
mov byte [esp + 0x164], 0xf
jae 0x4c6d34
mov edi, esi
lea ecx, [esp + 0x14]
cmp ecx, ebx
jne 0x4c6da9
cmp dword [esp + 0x1c], edi
jae 0x4c6d47
call fcn.00697ab7
lea ecx, [esp + 0x14]
call fcn.00414980
mov eax, dword [esp + 0x1c]
sub eax, edi
cmp eax, esi
jae 0x4c6d5c
mov esi, eax
test esi, esi
jbe 0x4c6d97
mov edx, dword [esp + 0x18]
sub eax, esi
push eax
lea ecx, [edx + edi]
lea eax, [ecx + esi]
push eax
push ecx
call fcn.004c7710
mov edi, dword [esp + 0x28]
add esp, 0xc
sub edi, esi
lea ecx, [esp + 0x14]
push 0
push edi
call fcn.00414210
test al, al
je 0x4c6d97
push edi
lea ecx, [esp + 0x18]
call fcn.004141f0
push 0
push 0
lea ecx, [esp + 0x1c]
call fcn.004140d0
jmp 0x4c6e4e
test edi, edi
jbe 0x4c6e1e
mov ecx, ebx
call fcn.0064dd30
cmp edi, eax
jne 0x4c6e1e
mov ecx, ebx
call fcn.004f1770
push eax
lea ecx, [esp + 0x18]
call fcn.004c22b0
cmp byte [eax], 0xfe
jae 0x4c6e1e
lea ecx, [esp + 0x14]
push ebx
push ecx
call fcn.004c7a00
add esp, 8
test al, al
je 0x4c6e1e
push 1
lea ecx, [esp + 0x18]
call fcn.004138a0
mov ecx, ebx
call fcn.004f1770
mov ecx, ebx
mov dword [esp + 0x18], eax
call fcn.0064dd30
mov ecx, ebx
mov dword [esp + 0x1c], eax
call fcn.004c79f0
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0x14]
push edx
mov dword [esp + 0x24], eax
call fcn.004c22b0
inc byte [eax]
jmp 0x4c6e4e
push 1
push edi
lea ecx, [esp + 0x1c]
call fcn.00414210
test al, al
je 0x4c6e4e
push edi
mov ecx, ebx
call fcn.004f1770
push eax
mov eax, dword [esp + 0x20]
push eax
call fcn.004c1f10
add esp, 0xc
lea ecx, [esp + 0x14]
push edi
call fcn.004141f0
mov byte [esp + 0x164], 4
lea ecx, [esp + 0x6c]
call fcn.004131d0
fld qword [esp + 0x24]
call fcn.00698624
push eax
lea ecx, [esp + 0x3c]
push 0x703498
push ecx
call fcn.00698355
add esp, 0xc
lea ecx, [esp + 0x14]
call fcn.0064dd30
test eax, eax
jne 0x4c6e96
lea edx, [esp + 0x38]
lea ecx, [esp + 0x14]
push edx
call fcn.004c2200
mov esi, dword [esp + 0x16c]
lea eax, [esp + 0x14]
push eax
mov ecx, esi
call fcn.00412ff0
mov dword [esp + 0x30], 1
lea ecx, [esp + 0x10]
mov byte [esp + 0x164], 3
call fcn.0060ffb0
lea ecx, [esp + 0x34]
mov byte [esp + 0x164], 2
call fcn.0060ffb0
lea ecx, [esp + 0x14]
mov byte [esp + 0x164], 1
call fcn.004131d0
lea ecx, [esp + 0x170]
mov byte [esp + 0x164], 0
call fcn.0060ffb0
mov ecx, dword [esp + 0x15c]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x15c
ret 8
add eax, 0xfffffdfe
cmp eax, 5
ja case.default.0x4c6f22
jmp dword [eax*4 + 0x4c762c]
mov al, byte [esi + 0x2e9]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c6f3e
jmp dword [eax*4 + 0x4c7644]
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1643
push ecx
jmp 0x4c6fb9
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1107
jmp 0x4c6fb8
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1730
push eax
jmp 0x4c6fb9
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b4
push ecx
jmp 0x4c6fb9
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b5
jmp 0x4c6fb8
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31ab
push eax
jmp 0x4c6fb9
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1780
push ecx
jmp 0x4c6fb9
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b6
push edx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x90]
push ecx
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x168], 0x10
call fcn.0044fd20
mov byte [esp + 0x164], 4
lea ecx, [esp + 0x8c]
jmp 0x4c6e5a
mov al, byte [esi + 0x2ea]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c7025
jmp dword [eax*4 + 0x4c7664]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1643
push edx
jmp 0x4c70a0
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1107
jmp 0x4c709f
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1730
push ecx
jmp 0x4c70a0
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b4
push edx
jmp 0x4c70a0
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b5
jmp 0x4c709f
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ab
push ecx
jmp 0x4c70a0
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1780
push edx
jmp 0x4c70a0
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b6
push eax
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xb0]
push eax
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x168], 0x11
call fcn.0044fd20
mov byte [esp + 0x164], 4
lea ecx, [esp + 0xac]
jmp 0x4c6e5a
mov al, byte [esi + 0x2eb]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c710c
jmp dword [eax*4 + 0x4c7684]
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1643
push ecx
jmp 0x4c7187
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1107
jmp 0x4c7186
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1730
push eax
jmp 0x4c7187
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b4
push ecx
jmp 0x4c7187
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b5
jmp 0x4c7186
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31ab
push eax
jmp 0x4c7187
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1780
push ecx
jmp 0x4c7187
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b6
push edx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0xd0]
push ecx
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x168], 0x12
call fcn.0044fd20
mov byte [esp + 0x164], 4
lea ecx, [esp + 0xcc]
jmp 0x4c6e5a
mov al, byte [esi + 0x2ec]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c71f3
jmp dword [eax*4 + 0x4c76a4]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1643
push edx
jmp 0x4c726e
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1107
jmp 0x4c726d
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1730
push ecx
jmp 0x4c726e
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b4
push edx
jmp 0x4c726e
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b5
jmp 0x4c726d
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ab
push ecx
jmp 0x4c726e
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1780
push edx
jmp 0x4c726e
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b6
push eax
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0xf0]
push eax
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x168], 0x13
call fcn.0044fd20
mov byte [esp + 0x164], 4
lea ecx, [esp + 0xec]
jmp 0x4c6e5a
mov al, byte [esi + 0x2ed]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c72da
jmp dword [eax*4 + 0x4c76c4]
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1643
push ecx
jmp 0x4c7355
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1107
jmp 0x4c7354
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1730
push eax
jmp 0x4c7355
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31b4
push ecx
jmp 0x4c7355
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b5
jmp 0x4c7354
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31ab
push eax
jmp 0x4c7355
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1780
push ecx
jmp 0x4c7355
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b6
push edx
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea eax, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push eax
call fcn.0060fe80
lea ecx, [esp + 0x110]
push ecx
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x168], 0x14
call fcn.0044fd20
mov byte [esp + 0x164], 4
lea ecx, [esp + 0x10c]
jmp 0x4c6e5a
mov al, byte [esi + 0x2ee]
shr eax, 3
and eax, 7
cmp eax, 7
ja case.default.0x4c73c1
jmp dword [eax*4 + 0x4c76e4]
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1643
push edx
jmp 0x4c743c
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x1107
jmp 0x4c743b
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x1730
push ecx
jmp 0x4c743c
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x31b4
push edx
jmp 0x4c743c
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b5
jmp 0x4c743b
push ecx
mov ecx, esp
mov dword [esp + 0x10], esp
push 0x31ab
push ecx
jmp 0x4c743c
push ecx
mov edx, esp
mov dword [esp + 0x10], esp
push 0x1780
push edx
jmp 0x4c743c
push ecx
mov eax, esp
mov dword [esp + 0x10], esp
push 0x31b6
push eax
mov ecx, esi
call fcn.004c7950
lea ecx, [esp + 0x14]
call fcn.006101a0
push ecx
lea edx, [esp + 0x14]
mov ecx, esp
mov dword [esp + 0x10], esp
push edx
call fcn.0060fe80
lea eax, [esp + 0x130]
push eax
call fcn.0060f170
add esp, 8
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x168], 0x15
call fcn.0044fd20
mov byte [esp + 0x164], 4
lea ecx, [esp + 0x12c]
jmp 0x4c6e5a