Function at 0x60d750
Capabilities:
Decompress data using quicklz

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1a8
mov ebx, dword [edx + 0x2c]
mov eax, dword [edx + 4]
mov dword [esp + 0x168], ecx
mov ecx, 0x91a2b3c5
mov dword [esp], edx
mov dword [esp + 0x1a0], 0
mov dword [esp + 0x194], 0x20
mov byte [esp + 0x1a4], 3
mov dword [esp + 0x184], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x174], 0
mov dword [esp + 0x178], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 1
mov dword [esp + 0x17c], 0
mov dword [esp + 0xc], 0
mov esi, ebx
mov dword [esp + 0xe4], eax
mul ecx
mov eax, 1
mov ecx, 0x51eb851f
mov dword [esp + 0x24], ebx
sar esi, 0xd
shr edx, 0xb
sub eax, esi
mov edi, edx
mov dword [esp + 0x78], esi
mul ecx
mov eax, edi
mov esi, edi
mov dword [esp + 0xc8], edi
mov ecx, edx
mov edx, 0x15555556
mul edx
shr ecx, 7
inc ecx
shl edx, 2
lea eax, [edx + edx*2]
imul ebp, ecx, 0x190
imul edi, ecx, 0xfffdc54f
mov ecx, esi
mov edx, 0xc
mov esi, dword [esp + 0x78]
sub ecx, eax
mov eax, 0x30
cmovne edx, ecx
cmp dl, 0xa
mov dword [esp + 0x158], edx
sbb eax, 0xffffffff
mov dword [esp + 0x11c], eax
xor eax, eax
cmp ebx, 0x2000
cmovge edi, eax
cmovge ebp, eax
mov eax, edx
sub al, 0xa
mov dword [esp + 0xac], ebp
mov dword [esp + 0x98], edi
movzx eax, al
cmovb eax, edx
mov edx, dword [esp]
mov dword [esp + 0x10], eax
mov eax, dword [edx]
mov ebp, dword [edx + 8]
mov edx, 0x10624dd3
cmp eax, 1
mov dword [esp + 0x54], eax
mov eax, ebp
sete cl
mul edx
mov edi, edx
mov edx, 0x431bdf
shr edi, 6
mov eax, edi
mul edx
shr edx, 0xa
imul eax, edx, 0xf4240
mov edx, 0x431bde83
sub edi, eax
mov eax, ebp
mul edx
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0xe4]
shr edx, 0x12
imul eax, edx, 0x20c5
shr eax, 0x17
imul eax, eax, 0x3e8
sub edx, eax
cmp edi, 0xa8c0
mov eax, 0x9266d6
mov dword [esp + 0x16c], edx
mov edx, str.AMPMDropping_CCS
cmovae edx, eax
lea eax, [0x9266d8]
mov dword [esp + 0x120], edx
lea edx, [0x9266d6]
cmovae edx, eax
mov eax, ebx
shr eax, 4
mov dword [esp + 0x170], edx
mov edx, ebx
and eax, 0x1ff
and edx, 7
add edx, eax
mov dword [esp + 0x88], eax
mov dword [esp + 0xa8], edx
imul edx, edx, 0x2493
shr edx, 0x10
lea eax, [edx*8]
sub edx, eax
mov eax, ebx
shr eax, 3
mov dword [esp + 0xbc], edx
mov dword [esp + 0x150], eax
and eax, 0x3ff
test ebx, ebx
mov dword [esp + 0x84], eax
mov eax, esi
setne ch
shr eax, 2
and ch, cl
and eax, 0x3fff
mov byte [esp + 0x37], ch
mov ecx, 0x88888889
imul edx, eax, 0x147b
shr edx, 0x11
movzx eax, dl
mov ebx, edx
mov dword [esp + 0x90], edx
imul eax, eax, 0xcd
shr eax, 0xb
mov edx, eax
mov byte [esp + 0x50], al
add eax, eax
mov edx, ebx
add byte [esp + 0x50], 0x30
lea eax, [eax + eax*4]
sub dl, al
mov eax, esi
mov byte [esp + 0x18], dl
mov edx, 0x51eb851f
or byte [esp + 0x18], 0x30
imul edx
mov eax, edx
sar edx, 5
shr eax, 0x1f
add edx, eax
imul eax, edx, 0x64
mov dword [esp + 0x94], edx
mov edx, esi
sub edx, eax
mov dword [esp + 0x80], eax
movzx eax, dl
mov ebx, edx
mov dword [esp + 0xf4], edx
imul eax, eax, 0xcd
shr eax, 0xb
mov bh, al
add eax, eax
lea eax, [eax + eax*4]
add bh, 0x30
sub bl, al
mov eax, edi
mov byte [esp + 0xb8], bh
mul ecx
or bl, 0x30
mov ecx, edx
mov edx, 0x8888889
mov byte [esp + 0xb4], bl
mov ebx, dword [esp + 0xc8]
shr ecx, 5
mov eax, ecx
mul edx
imul eax, ecx, 0x3c
shr edx, 1
sub edi, eax
imul eax, edx, 0x3c
sub ecx, eax
cmp ebp, 0x3b9aca00
lea eax, [ebp - 0x3b9aca00]
cmovb eax, ebp
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x164], eax
mov eax, edi
sbb eax, 0xffffffff
mov esi, eax
movzx eax, bl
imul eax, eax, 0xcd
shr eax, 0xb
mov edx, eax
mov byte [esp + 0xa0], al
add eax, eax
mov edx, ebx
add byte [esp + 0xa0], 0x30
lea eax, [eax + eax*4]
sub dl, al
lea eax, [ecx + ecx*4]
lea eax, [eax + eax*4]
mov byte [esp + 0x9c], dl
or byte [esp + 0x9c], 0x30
add eax, ecx
movzx eax, ah
mov edx, eax
mov byte [esp + 0x1c], al
add eax, eax
mov edx, esi
or byte [esp + 0x1c], 0x30
lea eax, [eax + eax*4]
sub cl, al
imul eax, esi, 0x67
mov esi, dword [esp + 0x24]
movzx eax, ax
mov byte [esp + 0x8c], cl
or byte [esp + 0x8c], 0x30
shr eax, 0xa
mov byte [esp + 0x7c], al
mov ecx, eax
add eax, eax
or byte [esp + 0x7c], 0x30
lea eax, [eax + eax*4]
sub dl, al
mov eax, esi
shr esi, 0xd
shr eax, 0xf
mov dword [esp + 0x14], edx
and eax, 0x3fff
imul eax, eax, 0x147b
shr eax, 0x11
movzx ebx, al
imul edx, eax, 0x64
mov ecx, eax
imul eax, ebx, 0xcd
sub esi, edx
shr eax, 0xb
mov edx, esi
mov bh, al
add eax, eax
lea eax, [eax + eax*4]
add bh, 0x30
sub cl, al
imul eax, esi, 0x67
mov byte [esp + 0xe0], bh
movzx eax, ax
mov ebx, ecx
shr eax, 0xa
or bl, 0x30
mov ch, al
add eax, eax
mov byte [esp + 0xdc], bl
mov ebx, dword [esp + 0xf4]
lea eax, [eax + eax*4]
or ch, 0x30
sub dl, al
mov eax, ebp
mov byte [esp + 0xd8], ch
mov dword [esp + 0x20], edx
shr eax, 9
mov edx, 0x44b83
mul edx
mov eax, edx
shr eax, 7
imul esi, eax, 0x3b9aca00
add eax, edi
mov edi, dword [esp + 0x78]
imul edx, eax, 0x67
mov dword [esp + 0x148], eax
sub ebp, esi
mov esi, dword [esp + 0xe4]
movzx edx, dx
mov dword [esp + 0xc0], ebp
mov ebp, dword [esp + 0x98]
shr edx, 0xa
mov ecx, edx
add edx, edx
lea edx, [edx + edx*4]
or cl, 0x30
sub al, dl
mov edx, dword [esp + 0x14]
mov byte [esp + 0xd4], cl
mov ecx, dword [esp]
or al, 0x30
mov byte [esp + 0xd0], al
or dl, 0x30
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xf8], eax
or dl, 0x30
cmp eax, 0x80000000
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x20], edx
mov edx, 0
mov dword [esp + 0xa4], eax
cmove eax, edx
add ebp, dword [esp + 0x88]
mov edx, eax
sar edx, 0x1f
sub esi, eax
mov eax, 0
sbb eax, edx
mov dword [esp + 0xcc], eax
mov eax, dword [esp + 0x10]
or al, 0x30
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
and al, 0xf
mov byte [esp + 0x36], al
mov eax, dword [esp + 0x80]
neg eax
test ebx, ebx
lea edx, [edi + eax + 0x64]
cmovns edx, ebx
sar ebx, 0x1f
movzx eax, dl
add ebx, dword [esp + 0x94]
mov dword [esp + 0x144], edx
imul eax, eax, 0xcd
shr eax, 0xb
mov ecx, eax
mov byte [esp + 0x98], al
add eax, eax
mov ecx, edx
imul edx, dword [esp + 0x90], 0x64
add byte [esp + 0x98], 0x30
lea eax, [eax + eax*4]
mov dword [esp + 0x140], ebx
sub cl, al
movzx eax, bl
imul eax, eax, 0xcd
mov byte [esp + 0x80], cl
or byte [esp + 0x80], 0x30
shr eax, 0xb
mov ecx, eax
mov byte [esp + 0x94], al
add eax, eax
mov ecx, ebx
add byte [esp + 0x94], 0x30
lea eax, [eax + eax*4]
sub cl, al
mov eax, edi
sub eax, edx
mov byte [esp + 0xc4], cl
or byte [esp + 0xc4], 0x30
imul edx, eax, 0x67
movzx edx, dx
shr edx, 0xa
mov ecx, edx
mov byte [esp + 0x90], dl
add edx, edx
movzx ecx, byte [esp + 0x20]
or byte [esp + 0x90], 0x30
lea edx, [edx + edx*4]
sub al, dl
movzx edx, byte [esp + 0x14]
or al, 0x30
movzx eax, al
mov dword [esp + 0x15c], ecx
movzx ecx, byte [esp + 0x10]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0x160], edx
mov dword [esp + 0x154], ecx
mov ecx, 0x51eb851f
lea edi, [edi + eax - 1]
mov eax, edi
imul ecx
mov ecx, ebp
mov ebp, dword [esp + 0x88]
mov eax, edx
sar edx, 5
shr eax, 0x1f
add edx, eax
imul eax, edi, 0x5b5
sub ecx, edx
sar eax, 2
sar edx, 2
add ecx, eax
lea eax, [edx + ecx - 0xaf93b]
mov ecx, 0x15180
imul ecx
add eax, esi
mov esi, 0x37
adc edx, dword [esp + 0xcc]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x13c], edx
mov edx, dword [esp + 0xbc]
lea ecx, [eax + edx]
lea ebx, [eax + edx + 1]
mov eax, 0
movzx ecx, cx
mov edx, ecx
lea edi, [ecx + 0x31]
neg edx
cmp cx, 6
cmovb esi, edi
cmovae ebx, eax
mov dword [esp + 0x130], esi
mov esi, 0x30
mov dword [esp + 0x20], ebx
cmovae edi, esi
mov esi, 6
mov dword [esp + 0x134], edi
mov edi, 0xfffa
cmovb edi, edx
lea edx, [ecx + 7]
lea ecx, [ecx + 1]
cmovae ecx, eax
cmovb esi, edx
mov dword [esp + 0xbc], ecx
lea ecx, [edi + ebp + 6]
neg esi
movzx edx, cx
lea esi, [ebp + esi + 0xc]
imul edx, edx, 0x2493
movsx esi, si
shr edx, 0x10
sub ecx, edx
movzx eax, cx
shr eax, 1
add eax, edx
shr eax, 2
movzx ecx, al
mov dword [esp + 0x12c], eax
imul edx, ecx, 0xcd
shr edx, 0xb
mov ecx, edx
add edx, edx
lea ebx, [edx + edx*4]
mov edx, eax
imul eax, esi, 0x4925
add cl, 0x30
mov esi, eax
sar eax, 0x11
sub dl, bl
shr esi, 0x1f
or dl, 0x30
add eax, esi
movzx esi, al
mov dword [esp + 0x128], eax
mov dh, al
movzx eax, byte [esp + 0x50]
imul ebx, esi, 0xcd
shr ebx, 0xb
mov ch, bl
add ebx, ebx
mov dword [esp + 0xf0], eax
movzx eax, byte [esp + 0x18]
lea ebx, [ebx + ebx*4]
add ch, 0x30
sub dh, bl
or dh, 0x30
mov dword [esp + 0xec], eax
movzx eax, byte [esp + 0xb8]
mov dword [esp + 0x118], eax
movzx eax, byte [esp + 0xb4]
mov dword [esp + 0x114], eax
movzx eax, byte [esp + 0xa0]
mov dword [esp + 0xac], eax
movzx eax, byte [esp + 0x9c]
mov dword [esp + 0xa0], eax
movzx eax, byte [esp + 0x1c]
mov dword [esp + 0xa8], eax
movzx eax, byte [esp + 0x8c]
mov dword [esp + 0x9c], eax
movzx eax, byte [esp + 0x7c]
mov dword [esp + 0xcc], eax
movzx eax, byte [esp + 0xe0]
mov dword [esp + 0xe0], eax
movzx eax, byte [esp + 0xdc]
mov dword [esp + 0xdc], eax
movzx eax, byte [esp + 0xd8]
mov dword [esp + 0xd8], eax
movzx eax, byte [esp + 0xd4]
mov dword [esp + 0xb4], eax
movzx eax, byte [esp + 0xd0]
mov dword [esp + 0xb8], eax
movzx eax, byte [esp + 0x98]
mov dword [esp + 0x110], eax
movzx eax, byte [esp + 0x80]
mov dword [esp + 0xd4], eax
movzx eax, byte [esp + 0x94]
mov dword [esp + 0x10c], eax
movzx eax, byte [esp + 0xc4]
mov dword [esp + 0xd0], eax
movzx eax, byte [esp + 0x90]
mov dword [esp + 0xfc], eax
movzx eax, cl
mov dword [esp + 0x108], eax
movzx eax, dl
mov dword [esp + 0x90], eax
movzx eax, ch
mov dword [esp + 0x104], eax
movzx eax, dh
mov edx, dword [esp]
mov dword [esp + 0x124], eax
lea eax, [esp + 0x174]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], 0x8a7978
mov eax, dword [edx + 0x1c]
mov esi, dword [edx + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0x24]
mov dword [esp + 0x14], eax
lea eax, [edx + 0xc]
mov dword [esp + 0x98], eax
movzx eax, word [esp + 0x16c]
mov dword [esp + 0x80], eax
movzx eax, word [esp + 0x20]
mov dword [esp + 0x94], eax
call 0x60dfef
pop eax
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x78]
add eax, 0xfffffc18
mov dword [esp + 0xc4], eax
jmp 0x60e030
test esi, esi
je 0x60e070
mov eax, dword [esp + 0x14]
dec esi
lea ecx, [eax + 0xc]
movzx eax, byte [eax]
mov dword [esp + 0x1c], ecx
mov eax, dword [eax*4 + 0x610e2c]
add eax, dword [esp + 0x50]
jmp eax
cmp dword [esp + 0x18], 0
je 0x610c28
mov eax, dword [esp + 0x10]
movzx edx, byte [eax]
movzx ecx, dl
test dl, dl
jns 0x60e290
movzx esi, byte [eax + 1]
and ecx, 0x1f
and esi, 0x3f
cmp dl, 0xdf
jbe 0x60e21c
mov edi, eax
movzx eax, byte [eax + 2]
shl esi, 6
and eax, 0x3f
or eax, esi
cmp dl, 0xf0
jb 0x60e286
movzx edx, byte [edi + 3]
and ecx, 7
shl eax, 6
shl ecx, 0x12
and edx, 0x3f
or edx, eax
or ecx, edx
jmp 0x60e28b
shl ecx, 6
or ecx, esi
jmp 0x60e290
lea ecx, [esp + 4]
mov edx, esi
push edi
call fcn.007c54d0
add esp, 4
mov esi, dword [esp + 0xc]
jmp 0x60e477
shl ecx, 0xc
or ecx, eax
mov eax, edi
nop dword [eax]
mov edx, dword [esp + 0x18]
cmp ecx, 0x20
lea ebx, [eax + edx]
mov dword [esp], ebx
je 0x60e2c4
cmp ecx, 0x25
je 0x60e415
cmp ecx, 0x110000
je 0x610c28
lea eax, [ecx - 9]
cmp eax, 5
mov eax, dword [esp + 0x10]
jae 0x60e4c5
xor edi, edi
mov esi, eax
jmp 0x60e2ec
shl edx, 6
lea esi, [ecx + 2]
or edx, ebp
lea eax, [edx - 9]
cmp eax, 5
jae 0x60e380
nop
sub edi, ecx
add edi, esi
cmp esi, ebx
je 0x60e3f2
movzx eax, byte [esi]
mov ecx, esi
movzx edx, al
test al, al
js 0x60e310
lea esi, [ecx + 1]
lea eax, [edx - 9]
cmp eax, 5
jb 0x60e2e0
jmp 0x60e380
movzx ebp, byte [ecx + 1]
and edx, 0x1f
and ebp, 0x3f
cmp al, 0xdf
jbe 0x60e2ca
movzx ebx, byte [ecx + 2]
shl ebp, 6
and ebx, 0x3f
or ebx, ebp
cmp al, 0xf0
jb 0x60e362
movzx eax, byte [ecx + 3]
and edx, 7
shl ebx, 6
mov esi, edx
shl esi, 0x12
and eax, 0x3f
or eax, ebx
mov edx, eax
or edx, esi
cmp edx, 0x110000
je 0x60e3f2
lea esi, [ecx + 4]
mov ebx, dword [esp]
lea eax, [edx - 9]
cmp eax, 5
jb 0x60e2e0
jmp 0x60e380
shl edx, 0xc
lea esi, [ecx + 3]
or edx, ebx
mov ebx, dword [esp]
lea eax, [edx - 9]
cmp eax, 5
jb 0x60e2e0
nop dword [eax]
cmp edx, 0x20
je 0x60e2e0
cmp edx, 0x80
jb 0x60e3ec
mov eax, edx
shr eax, 8
cmp eax, 0x1f
jg 0x60e3b2
test eax, eax
je 0x60e3ca
cmp eax, 0x16
jne 0x60e3ec
cmp edx, 0x1680
je 0x60e2e0
jmp 0x60e3ec
cmp eax, 0x20
je 0x60e3dc
cmp eax, 0x30
jne 0x60e3ec
cmp edx, 0x3000
je 0x60e2e0
jmp 0x60e3ec
movzx eax, dl
test byte [eax + 0x93ce2e], 1
jne 0x60e2e0
jmp 0x60e3ec
movzx eax, dl
test byte [eax + 0x93ce2e], 2
jne 0x60e2e0
mov edx, dword [esp + 0x18]
jmp 0x60e3f8
mov edx, dword [esp + 0x18]
mov edi, edx
test edi, edi
je 0x610d00
mov eax, edx
sub eax, edi
jbe 0x60e445
mov ecx, dword [esp + 0x10]
cmp byte [ecx + edi], 0xbf
jg 0x60e44f
jmp 0x610d14
cmp edx, 2
jb 0x610cc9
mov eax, dword [esp + 0x10]
lea ecx, [eax + 1]
movzx eax, byte [ecx]
cmp al, 0xbf
jle 0x610d32
movzx esi, al
test al, al
js 0x60e501
mov edi, 1
jmp 0x60e5ac
mov ecx, dword [esp + 0x10]
jne 0x610d14
lea ebp, [ecx + edi]
mov cl, 2
xor esi, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], ecx
mov dword [esp], esi
mov eax, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
sub eax, esi
cmp eax, edi
jb 0x60e26e
mov eax, dword [esp + 8]
add eax, esi
push edi
push ebx
push eax
call fcn.007bd9b0
add esp, 0xc
add esi, edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x20]
mov esi, dword [esp]
mov dword [esp + 0x10], ebp
cmp al, 3
je 0x60e4a9
movzx eax, al
cmp eax, 1
jne 0x60e030
test edi, edi
je 0x60e030
push ebx
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
jmp 0x60e030
cmp ecx, 0x80
jb 0x60e76e
mov eax, ecx
shr eax, 8
cmp eax, 0x1f
jg 0x60e558
test eax, eax
je 0x60e744
cmp eax, 0x16
mov eax, dword [esp + 0x10]
jne 0x60e76e
cmp ecx, 0x1680
je 0x60e2c4
jmp 0x60e76e
mov ebx, dword [esp + 0x10]
and esi, 0x1f
movzx edi, byte [ebx + 2]
and edi, 0x3f
cmp al, 0xdf
jbe 0x60e544
movzx edx, byte [ebx + 3]
shl edi, 6
and edx, 0x3f
or edx, edi
cmp al, 0xf0
jb 0x60e57f
movzx eax, byte [ebx + 4]
and esi, 7
shl edx, 6
shl esi, 0x12
and eax, 0x3f
or eax, edx
or esi, eax
cmp esi, 0x110000
jne 0x60e549
jmp 0x610cc9
shl esi, 6
or esi, edi
mov edi, 1
cmp esi, 0x80
jae 0x60e591
jmp 0x60e5ac
cmp eax, 0x20
je 0x60e75a
cmp eax, 0x30
mov eax, dword [esp + 0x10]
jne 0x60e76e
cmp ecx, 0x3000
je 0x60e2c4
jmp 0x60e76e
shl esi, 0xc
or esi, edx
mov edi, 1
cmp esi, 0x80
jb 0x60e5ac
mov edi, 2
cmp esi, 0x800
jb 0x60e5ac
cmp esi, 0x10000
mov edi, 4
sbb edi, 0
mov edx, dword [esp + 0x18]
dec edx
mov eax, edx
sub edx, edi
jbe 0x60e5c2
cmp byte [ecx + edi], 0xbf
jg 0x60e5c8
jmp 0x610d47
jne 0x610d47
add ecx, edi
mov bl, 1
cmp esi, 0x2f
mov dword [esp], 0
jg 0x60e5ec
cmp esi, 0x23
je 0x60e609
cmp esi, 0x2d
mov dword [esp + 0x20], 0
je 0x60e627
jmp 0x60e5fa
cmp esi, 0x5f
je 0x60e618
cmp esi, 0x30
jne 0x60e5fa
mov bl, 1
jmp 0x60e61a
mov dword [esp + 0x18], edx
mov dword [esp + 0x10], ecx
mov dl, 3
jmp 0x60e71a
mov bl, 3
mov dword [esp + 0x20], ebx
mov bl, 1
mov dword [esp], ebx
xor ebx, ebx
jmp 0x60e627
mov bl, 2
mov dword [esp], 0
mov dword [esp + 0x20], ebx
mov bl, 1
cmp eax, edi
je 0x610cc9
movzx eax, byte [ecx]
movzx esi, al
test al, al
js 0x60e643
mov edi, 1
jmp 0x60e6c3
movzx ebp, byte [ecx + 1]
and esi, 0x1f
and ebp, 0x3f
cmp al, 0xdf
jbe 0x60e682
movzx edi, byte [ecx + 2]
shl ebp, 6
and edi, 0x3f
or edi, ebp
cmp al, 0xf0
jb 0x60e696
movzx eax, byte [ecx + 3]
and esi, 7
shl edi, 6
shl esi, 0x12
and eax, 0x3f
or eax, edi
or esi, eax
cmp esi, 0x110000
jne 0x60e687
jmp 0x610cc9
shl esi, 6
or esi, ebp
mov edi, 1
cmp esi, 0x80
jae 0x60e6a8
jmp 0x60e6c3
shl esi, 0xc
or esi, edi
mov edi, 1
cmp esi, 0x80
jb 0x60e6c3
mov edi, 2
cmp esi, 0x800
jb 0x60e6c3
cmp esi, 0x10000
mov edi, 4
sbb edi, 0
mov eax, edx
sub eax, edi
mov dword [esp + 0x18], eax
jbe 0x60e6d8
cmp byte [ecx + edi], 0xbf
jg 0x60e6de
jmp 0x610d55
jne 0x610d55
add ecx, edi
cmp byte [esp], 0
je 0x60e70f
cmp esi, 0x7a
setne al
or al, bl
jne 0x610cc9
mov edx, dword [esp + 0x14]
mov al, 5
mov dword [esp + 0x10], ecx
xor esi, esi
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], edx
jmp 0x60f745
mov edx, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
mov dword [esp], ebx
add esi, 0xffffffdb
cmp esi, 0x55
ja 0x610cc9
mov eax, dword [esi*4 + 0x610e98]
add eax, dword [esp + 0x50]
jmp eax
movzx eax, cl
test byte [eax + 0x93ce2e], 1
mov eax, dword [esp + 0x10]
jne 0x60e2c4
jmp 0x60e76e
movzx eax, cl
test byte [eax + 0x93ce2e], 2
mov eax, dword [esp + 0x10]
jne 0x60e2c4
xor edi, edi
mov esi, eax
jmp 0x60e795
cmp edx, 0x25
je 0x60e8be
sub edi, ecx
add edi, esi
cmp esi, ebx
je 0x60e8ff
movzx ebx, byte [esi]
mov ecx, esi
movzx edx, bl
test bl, bl
js 0x60e7c0
mov ebx, dword [esp]
lea esi, [ecx + 1]
lea eax, [edx - 9]
cmp eax, 0x17
jbe 0x60e840
jmp 0x60e84d
movzx eax, byte [ecx + 1]
and edx, 0x1f
and eax, 0x3f
cmp bl, 0xdf
jbe 0x60e814
movzx ebp, byte [ecx + 2]
shl eax, 6
and ebp, 0x3f
or ebp, eax
cmp bl, 0xf0
jb 0x60e829
movzx eax, byte [ecx + 3]
and edx, 7
shl ebp, 6
mov ebx, dword [esp]
mov esi, edx
shl esi, 0x12
and eax, 0x3f
or eax, ebp
mov edx, eax
or edx, esi
cmp edx, 0x110000
je 0x60e8ff
lea esi, [ecx + 4]
lea eax, [edx - 9]
cmp eax, 0x17
jbe 0x60e840
jmp 0x60e84d
mov ebx, dword [esp]
shl edx, 6
lea esi, [ecx + 2]
or edx, eax
lea eax, [edx - 9]
cmp eax, 0x17
jbe 0x60e840
jmp 0x60e84d
mov ebx, dword [esp]
shl edx, 0xc
lea esi, [ecx + 3]
or edx, ebp
lea eax, [edx - 9]
cmp eax, 0x17
ja 0x60e84d
nop dword [eax]
mov ebx, 0x80001f
bt ebx, eax
mov ebx, dword [esp]
jb 0x60e8be
cmp edx, 0x80
jb 0x60e780
mov eax, edx
shr eax, 8
cmp eax, 0x1f
jg 0x60e880
test eax, eax
je 0x60e89c
cmp eax, 0x16
jne 0x60e789
cmp edx, 0x1680
jne 0x60e789
jmp 0x60e8be
cmp eax, 0x20
je 0x60e8ae
cmp eax, 0x30
jne 0x60e789
cmp edx, 0x3000
jne 0x60e789
jmp 0x60e8be
movzx eax, dl
test byte [eax + 0x93ce2e], 1
je 0x60e789
jmp 0x60e8be
movzx eax, dl
test byte [eax + 0x93ce2e], 2
je 0x60e789
mov edx, dword [esp + 0x18]
test edi, edi
je 0x610d6e
mov eax, edx
sub eax, edi
jbe 0x60e8df
mov ecx, dword [esp + 0x10]
cmp byte [ecx + edi], 0xbf
jg 0x60e8e9
jmp 0x610d61
mov ecx, dword [esp + 0x10]
jne 0x610d61
lea ebp, [ecx + edi]
xor esi, esi
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], 0
jmp 0x60e45e
mov edx, dword [esp + 0x18]
mov edi, edx
test edi, edi
jne 0x60e8ca
jmp 0x610d6e
mov edx, ecx
mov dword [esp], esi
add dl, 0xfc
movzx eax, dl
cmp dl, 0x13
mov edx, 0x13
cmovae eax, edx
movzx edx, al
cmp al, 0x13
ja 0x60fdce
mov esi, dword [edx*4 + 0x611060]
add esi, dword [esp + 0x50]
jmp esi
cmp dword [esp + 0xf8], 0x80000000
mov esi, dword [esp]
je 0x610cc9
add edx, 0xfffffff5
cmp edx, 7
ja 0x610cc9
mov ecx, dword [edx*4 + 0x6110c0]
add ecx, dword [esp + 0x50]
jmp ecx
mov edx, dword [esp + 8]
lea ecx, [esp + 0x184]
push dword [esp + 0xc]
call fcn.004646a0
add esp, 4
cmp dword [esp + 4], 0
mov ebx, eax
je 0x610c5a
push dword [esp + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
test bl, bl
jne 0x610ce2
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x168]
movsd xmm0, qword [esp + 0x174]
mov dword [ecx + 8], eax
movsd qword [ecx], xmm0
add esp, 0x1a8
pop esi
pop edi
pop ebx
pop ebp
ret
cmp dword [esp + 4], 0
je 0x610ce2
push dword [esp + 8]
push 0
push dword [0x94bf18]
call dword [sym.imp.kernel32.dll_HeapFree]
mov ecx, str.a_Display_implementation_returned_an_error_unexpectedly_rustc_25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04library_alloc_src_string.rs
mov edx, 0x37
push 0x93a144
push 0x8abeec
lea eax, [esp + 0x60]
push eax
call fcn.007c1f60
mov ecx, str.assertion_failed:_nextspec___0
mov edx, 0x1e
push 0x80b6d8
call fcn.007c1ca0
push 0x80b6e8
push edi
push 0
call fcn.007c2190
call fcn.00418cb0
mov ecx, 1
mov edx, edi
call fcn.007c1490
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x80b4ec
push edx
push 1
call fcn.007c2190
mov edx, eax
push 0x80b4fc
push eax
push edi
call fcn.007c2190
push 0x80b50c
push edx
push edi
call fcn.007c2190
push 0x80b6c8
push edi
push 0
call fcn.007c2190
mov ecx, str.assertion_failed:_nextspec___0
mov edx, 0x1e
push 0x80b6b8
call fcn.007c1ca0
mov edx, dword [esp + 0x18]
push 0x80b628
push edx
push esi
call fcn.007c2190
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x80b668
push edx
push esi
call fcn.007c2190
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x80b678
push edx
push esi
call fcn.007c2190
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x80b688
push edx
push esi
call fcn.007c2190
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0x80b5f8
push edx
push 1
call fcn.007c2190
push 0x80b648
push edx
push esi
call fcn.007c2190
push 0x80b638
push edx
push esi
call fcn.007c2190
push 0x80b658
push edx
push esi
call fcn.007c2190
mov ecx, dword [esp + 0x10]
push 0x80b608
push edx
push 2
call fcn.007c2190
mov ecx, dword [esp + 0x10]
push 0x80b618
push edx
push 3
call fcn.007c2190
nop dword [eax]
popal
add byte [eax], al
add cl, ah
add byte [eax], al
add dl, cl
add dword [eax], eax
add byte [ebx + 0x18000001], dl
add dword [eax], eax
add bh, ch
add dword [eax], eax
add dl, bl
sub al, 0
add byte [esi + 0x17], dl
add byte [eax], al
and al, byte [edx]
add byte [eax], al
sub eax, 0x34000009
or dword [eax], eax
add byte [ebx], bh
or dword [eax], eax
add byte [ecx + ecx], ch
add byte [ebx + 9], dh
add byte [eax], al
inc edx
or dword [eax], eax
add byte [edx + 9], bh
add byte [eax], al
dec ecx
or dword [eax], eax
add byte [ecx + 0x50000009], al
or dword [eax], eax
add byte [edi + 9], dl
add byte [eax], al
mov byte [ecx], cl
add byte [eax], al
pop ds
or dword [eax], eax
add byte [esi + 9], bl
add byte [eax], al
or dword es:[eax], eax
add byte [ebp + 9], ah
add byte [eax], al
invalid