Function at 0x4e0fc0
Capabilities:
Hash data with crc32
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf48
call 0x4e0fd4
pop eax
mov esi, dword [ebp + 8]
movdqa xmm0, xmmword [0x606a10]
mov edi, edx
mov dword [esp + 0x170], ecx
lea ebx, [esp + 0x110]
lea ecx, [esp + 0x118]
mov dword [esp + 0x134], 0
mov byte [esp + 0x138], 8
mov byte [esp + 0x14c], 0
mov dword [esp + 0x190], 0
mov byte [esp + 0x194], 8
mov dword [esp + 0x19c], 0
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a0], 0
mov byte [esp + 0x1a8], 0
lea edx, [esp + 0x190]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0xf8], esi
mov dword [esp + 0xfc], eax
movdqu xmmword [esp + 0x100], xmm0
mov dword [esp + 0x114], 0x2020201
mov dword [esp + 0x110], 0x682ed4
mov dword [esp + 0x118], 1
mov dword [esp + 0x11c], 0x64
mov dword [esp + 0x120], 1
mov dword [esp + 0x124], 0x40001
mov dword [esp + 0x128], 0x10001
mov word [esp + 0x12c], 0
mov dword [esp + 0x130], 0
push 0x200
push eax
push esi
push ebx
call fcn.00501900
add esp, 0x10
cmp eax, 0x7fffffff
mov ecx, 0x7fffffff
cmovb ecx, eax
mov dword [esp + 0x10c], ecx
mov ebx, ecx
mov eax, dword [esp + 0x108]
imul ebx, eax
test ebx, ebx
js 0x4e59ba
test ebx, ebx
mov dword [esp + 0x16c], edi
je 0x4e119e
mov dword [esp + 0xc], eax
mov dword [esp + 8], ecx
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e1146
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e59c1
mov dword [0x6f1130], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e59c1
xor esi, esi
mov edi, eax
cmp ebx, 2
jb 0x4e1173
lea esi, [ebx - 1]
push esi
push 0
push edi
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [edi + ebx - 1]
inc esi
mov byte [eax], 0
cmp ebx, esi
jbe 0x4e1194
push esi
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapReAlloc
test eax, eax
je 0x4e5a73
mov edi, eax
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0xc]
jmp 0x4e11a5
mov edi, 1
xor esi, esi
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x104]
mov dword [esp + 0xc0], edi
mov dword [esp + 0xc4], esi
cmp word [esp + 0x124], 0
mov ebx, dword [esp + 0x11c]
movzx edi, word [esp + 0x126]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x10c]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x108]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x50], edx
mov esi, dword [ecx + 0x14]
mov ecx, dword [esp + 0x118]
je 0x4e1239
mov dword [esp + 8], ecx
lea ecx, [esp + 0x110]
mov edx, 0x6d8f38
push 1
call fcn.004f8840
mov ecx, dword [esp + 0xc]
add esp, 4
imul edi, eax
xor eax, eax
test esi, esi
mov dword [esp + 0x5c], edi
sete al
add eax, 0x7fffffff
test esi, esi
cmovns eax, esi
test ecx, ecx
mov dword [esp + 0x60], eax
je 0x4e1267
imul esi, ebx
mov ecx, 0x51eb851f
mov eax, esi
mul ecx
mov ebx, edx
shr ebx, 5
lea esi, [esp + 0x190]
lea edx, [esp + 0x134]
mov ecx, esi
call fcn.004e5c20
lea ecx, [esp + 0x118]
mov edx, esi
push dword [esp + 0x50]
push dword [esp + 0x100]
push dword [esp + 0x100]
lea eax, [esp + 0x11c]
push eax
call fcn.00501900
add esp, 0x10
mov edx, dword [esp + 0x10c]
xor ecx, ecx
mov edi, dword [esp + 0x58]
test edx, edx
sete cl
add ecx, 0x7fffffff
test edx, edx
cmovns ecx, edx
xor edx, edx
test eax, eax
sete dl
add edx, 0x7fffffff
test eax, eax
cmovns edx, eax
xor eax, eax
test ebx, ebx
sete al
add eax, 0x7fffffff
test ebx, ebx
cmovns eax, ebx
mov dword [esp + 0xa0], eax
mov al, byte [esp + 0x129]
test al, al
je 0x4e1316
sub ecx, edx
cmp al, 1
jne 0x4e1310
mov eax, ecx
shr eax, 0x1f
add eax, ecx
sar eax, 1
add eax, dword [esp + 0x58]
mov edi, eax
jmp 0x4e1316
add ecx, dword [esp + 0x58]
mov edi, ecx
cmp dword [esp + 0x134], 0
jne 0x4e59cf
add edi, dword [esp + 0x130]
mov byte [esp + 0x138], 8
mov dword [esp + 0x134], 0
mov bl, 2
mov al, byte [esp + 0x116]
mov dword [esp + 0xc], ebx
mov ecx, eax
add cl, 0xfe
cmp cl, 2
movzx edx, cl
mov ecx, 2
cmovae edx, ecx
test dl, dl
je 0x4e1377
movzx edx, dl
cmp edx, 1
jne 0x4e136e
mov al, 3
jmp 0x4e1373
test al, al
setne al
mov dword [esp + 0xc], eax
mov ah, byte [esp + 0x117]
mov al, byte [esp + 0x114]
mov dl, byte [esp + 0x115]
mov bl, 2
mov dh, ah
add dh, 0xfe
cmp dh, 2
movzx esi, dh
cmovb ecx, esi
test cl, cl
je 0x4e13b1
movzx ecx, cl
cmp ecx, 1
jne 0x4e13ac
mov bl, 3
jmp 0x4e13b1
test ah, ah
setne bl
mov esi, dword [esp + 0x50]
mov dword [esp + 0x20], ebx
xor ebx, ebx
lea ecx, [esp + 0x118]
movq xmm0, qword [ecx + 0x10]
movq xmm1, qword [ecx]
movq xmm2, qword [ecx + 8]
test esi, esi
sete bl
movq qword [esp + 0x98], xmm0
movq qword [esp + 0x90], xmm2
movq qword [esp + 0x88], xmm1
add ebx, 0x7fffffff
test esi, esi
cmovns ebx, esi
setne byte [esp + 0x24]
mov dword [esp + 0x78], ebx
xor ebx, ebx
test dl, dl
setne bl
cmp dl, 2
mov edx, 2
cmove ebx, edx
xor ecx, ecx
test al, al
setne cl
cmp al, 2
mov eax, dword [esp + 0xf8]
cmove ecx, edx
mov ch, bl
mov edx, dword [esp + 0xfc]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], eax
add edx, eax
test ecx, ecx
mov dword [esp + 0x18], edx
setne al
xor ebx, ebx
and al, byte [esp + 0x24]
mov byte [esp + 0xb4], al
mov eax, dword [esp + 0x110]
mov byte [esp + 0x14c], 1
mov dword [esp + 0x134], 0
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x58]
lea eax, [eax + ecx - 1]
mov ecx, edi
mov dword [esp + 0xb0], eax
lea eax, [esi + 1]
mov dword [esp + 0xac], eax
jmp 0x4e14ba
cmp dword [esp + 0x134], 0
jne 0x4e598a
mov dword [esp + 0x134], 0
mov edx, 2
cmp byte [esp + 0x12a], 1
movzx eax, byte [esp + 0x12b]
cmove eax, edx
xor esi, esi
test al, al
je 0x4e1530
mov edi, dword [esp + 0x60]
cmp al, 1
jne 0x4e1560
mov edi, dword [esp + 0x58]
mov eax, 0
mov esi, edi
sub esi, ecx
cmovs esi, eax
cmp byte [esp + 0xb4], 0
mov eax, dword [esp + 0x60]
cmovne edi, dword [esp + 0xb0]
sub edi, ecx
inc edi
cmp edi, eax
cmovg edi, eax
jmp 0x4e1560
cmp dword [esp + 0x58], ecx
mov edi, 0
jg 0x4e1560
cmp byte [esp + 0xb4], 0
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x60]
cmovne eax, dword [esp + 0xb0]
xor esi, esi
sub eax, edi
inc eax
cmp ecx, eax
cmovg edi, esi
nop dword [eax]
mov dword [esp + 0x30], ecx
lea eax, [esi + ecx]
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea edx, [esp + 0x868]
mov dword [esp + 0x868], ecx
mov dword [esp + 0x86c], eax
mov eax, edi
mov ecx, 0
sub eax, esi
cmovle eax, ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x870], ecx
mov dword [esp + 0x874], eax
mov eax, dword [esp + 0xb8]
lea ecx, [esp + 0x180]
mov dword [esp + 0x198], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x19c], eax
lea eax, [esp + 0x190]
push eax
call fcn.0046b420
add esp, 4
lea eax, [esp + 0xb8]
cmp edi, esi
mov dword [esp + 0x17c], eax
mov al, 1
jg 0x4e1606
test bl, 1
mov eax, ebx
jne 0x4e36d1
mov byte [esp + 0x7c], al
mov eax, dword [esp + 0xc]
add al, 0xfe
mov ebx, dword [esp + 0x20]
mov cl, 2
cmp al, 2
movzx edx, al
mov eax, 2
cmovae edx, eax
mov al, 2
test dl, dl
je 0x4e1648
movzx eax, dl
cmp eax, 1
jne 0x4e1640
mov al, 3
jmp 0x4e1648
cmp byte [esp + 0xc], 0
setne al
mov edx, ebx
mov esi, 2
mov byte [esp + 0xc], al
add dl, 0xfe
cmp dl, 2
movzx edx, dl
cmovae edx, esi
test dl, dl
je 0x4e1675
movzx ecx, dl
cmp ecx, 1
jne 0x4e1670
mov cl, 3
jmp 0x4e1675
test bl, bl
setne cl
mov eax, dword [esp + 8]
xor edx, edx
movzx edi, byte [esp + 0xc]
mov esi, 2
movzx ecx, cl
movsd xmm0, qword [esp + 0x98]
movq xmm1, qword [esp + 0x90]
test ah, ah
movsd qword [esp + 0xd8], xmm0
movq xmm0, qword [esp + 0x88]
movq qword [esp + 0xd0], xmm1
setne dl
cmp ah, 2
cmove edx, esi
xor ebx, ebx
test al, al
setne bl
cmp al, 2
cmove ebx, esi
shl ecx, 0x18
shl edi, 0x10
movq qword [esp + 0xc8], xmm0
or edi, ecx
movzx ecx, dl
movzx esi, bl
mov edx, dword [esp + 0x10]
shl ecx, 8
or ecx, edi
or esi, ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xe8], edx
mov dword [esp + 0x64], edx
lea edx, [esp + 0x134]
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xec], ecx
mov dword [esp + 0x68], ecx
lea ecx, [esp + 0x150]
call fcn.004e5c20
cmp dword [esp + 0x150], 0
jne 0x4e59a2
movzx esi, word [esp + 0xd6]
cmp word [esp + 0xd4], 0
lea ecx, [esp + 0x80]
mov byte [esp + 0x168], 0
mov dword [esp + 0x150], 0
je 0x4e1781
mov edx, 0x6d8f38
push 1
call fcn.004f8840
add esp, 4
imul esi, eax
lea ecx, [esp + 0x80]
mov edx, 0x6d8f38
push 1
mov edi, ecx
call fcn.004f8840
add esp, 4
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x190], 0
mov dword [esp + 0x194], 0
lea edx, [esp + 0x150]
lea eax, [esp + 0xc8]
mov dword [esp + 0x868], edi
mov dword [esp + 0x86c], 0
mov edi, edx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], 0
mov dword [esp + 0x1a0], esi
lea esi, [esp + 0x64]
mov dword [esp + 0x870], ecx
mov dword [esp + 0x874], 0
mov dword [esp + 0x878], 0
mov dword [esp + 0x87c], 0
mov dword [esp + 0x1a4], esi
mov byte [esp + 0x1bc], 1
mov dword [esp + 0x1b4], edx
mov dword [esp + 0x1b8], eax
mov ah, byte [esp + 0xdd]
mov byte [esp + 0x880], ah
jmp 0x4e186d
lea ecx, [esp + 0x3c]
mov edx, edi
push esi
call fcn.005243c0
add esp, 4
mov al, byte [esp + 0x3c]
cmp al, 8
je 0x4e2260
movzx eax, al
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov eax, dword [eax*4 + 0x4e5b54]
add eax, dword [esp + 0x38]
jmp eax
movzx eax, byte [esp + 0xd8]
mov edi, dword [esp + 0x86c]
mov esi, dword [esp + 0x878]
mov bl, 2
mov eax, dword [eax*4 + 0x4e5b74]
add eax, dword [esp + 0x38]
jmp eax
cmp dword [esp + 0x134], 0
jne 0x4e58a0
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x134], 0
sub edx, dword [esp + 0x18]
mov eax, edx
add eax, ecx
je 0x4e3738
cmp ecx, eax
jbe 0x4e3730
mov ecx, dword [esp + 0xf8]
cmp byte [ecx + eax], 0xbf
jg 0x4e3738
jmp 0x4e5a91
test edx, edx
jne 0x4e5a91
mov ecx, dword [esp + 0xb8]
mov eax, dword [esp + 0xbc]
mov byte [esp + 0x86a], 0
mov word [esp + 0x868], 0
lea edx, [ecx + ecx]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x5c], ecx
imul eax, edx
mov ecx, edx
mov dword [esp + 0x60], edx
add eax, eax
lea ecx, [eax + eax*2]
test ecx, ecx
je 0x4e38c5
lea eax, [ecx - 1]
mov ebx, 0xffffffff
inc eax
cmovne ebx, eax
test ebx, ebx
js 0x4e59ba
mov dword [esp + 0xc], ecx
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e37af
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e59c1
mov dword [0x6f1130], eax
push ebx
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e59c1
mov ecx, dword [esp + 0xc]
mov byte [eax], 0
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], ebx
lea edi, [esp + 0x86b]
lea esi, [esp + 0x869]
mov dword [esp + 0x198], 1
lea ebx, [ecx - 2]
mov ecx, 1
jmp 0x4e3833
movzx edx, byte [esp + 0x868]
lea esi, [esp + 0x869]
mov byte [esp + 8], dl
cmp ecx, dword [esp + 0x194]
je 0x4e3848
movzx edx, byte [esp + 8]
dec ebx
mov byte [eax + ecx], dl
inc ecx
cmp dword [esp + 0xc], ecx
mov dword [esp + 0x198], ecx
je 0x4e387f
cmp esi, edi
je 0x4e3800
movzx edx, byte [esi]
inc esi
mov byte [esp + 8], dl
cmp ecx, dword [esp + 0x194]
jne 0x4e381c
mov eax, ebx
mov dword [esp + 0x18], ecx
mov edx, 0xffffffff
lea ecx, [esp + 0x190]
inc eax
cmove eax, edx
mov edx, dword [esp + 0x18]
push eax
call fcn.005f2340
mov ecx, dword [esp + 0x1c]
lea edi, [esp + 0x86f]
add esp, 4
mov eax, dword [esp + 0x190]
jmp 0x4e381c
mov eax, dword [esp + 0x190]
cmp dword [esp + 0x194], ecx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x24], eax
jbe 0x4e38ec
mov eax, dword [0x6f1130]
test ecx, ecx
je 0x4e38d8
push ecx
push dword [esp + 0x28]
push 0
push eax
call sub.KERNEL32.dll_HeapReAlloc
test eax, eax
mov dword [esp + 0x24], eax
jne 0x4e38ec
mov ecx, dword [esp + 0x18]
mov edx, 1
call fcn.0040a640
ud2
mov eax, dword [0x6dd4e0]
mov dword [esp + 0x18], 0
mov dword [esp + 0x24], eax
jmp 0x4e38ec
push dword [esp + 0x24]
push 0
push eax
call sub.KERNEL32.dll_HeapFree
mov dword [esp + 0x24], 1
mov ecx, dword [esp + 0xbc]
mov esi, dword [esp + 0xb8]
mov edi, 0x7fffffff
mov edx, 0x7fffffff
test ecx, ecx
mov dword [esp + 0x28], ecx
sete al
cmovns edi, ecx
test esi, esi
sete cl
cmovns edx, esi
xor ebx, ebx
or cl, al
cmovne edi, ebx
cmovne edx, ebx
test edi, edi
mov dword [esp + 0xa8], edx
mov dword [esp + 0x30], edi
jle 0x4e3aef
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x7c], esi
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x60]
lea eax, [eax + eax*2]
mov dword [esp + 0x20], eax
xor eax, eax
xor edi, edi
mov dword [esp + 0x14], 0
jmp 0x4e398c
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
add dword [esp + 0x14], 6
mov esi, dword [esp + 0x7c]
inc edi
cmp dword [esp + 0x30], eax
jle 0x4e3aef
cmp edi, dword [esp + 0xa8]
jge 0x4e3ad0
test edi, edi
js 0x4e593f
test eax, eax
js 0x4e593f
cmp edi, esi
jae 0x4e593f
cmp eax, dword [esp + 0x28]
jae 0x4e593f
mov edx, eax
imul edx, esi
add edx, edi
cmp dword [esp + 0x50], edx
jbe 0x4e593f
add eax, eax
xor ecx, ecx
mov dword [esp + 0x1c], edi
add edi, edi
mov esi, eax
mov ebx, eax
mov dword [esp + 0x34], edi
add esi, 2
mov esi, edi
setns cl
add ecx, 0x7fffffff
add ebx, 2
cmovo ebx, ecx
xor ecx, ecx
add esi, 2
setns cl
mov esi, ebx
add ecx, 0x7fffffff
add edi, 2
cmovo edi, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 8], edi
cmp byte [ecx + edx], 0
mov edx, 0xffffff
mov ecx, 0
cmove edx, ecx
cmp esi, eax
jle 0x4e3970
mov ecx, edx
mov ebx, eax
bswap ecx
shr ecx, 8
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x34]
mov dword [esp + 0xc], eax
jmp 0x4e3a77
add ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esp + 0xc]
mov word [edx + ecx], bx
shr ebx, 0x10
mov byte [edx + ecx + 2], bl
add edx, 3
inc edi
cmp esi, eax
mov ebx, eax
jle 0x4e3970
cmp edi, dword [esp + 8]
jge 0x4e3ab0
test edi, edi
js 0x4e3a69
test ebx, ebx
js 0x4e3a69
mov ecx, dword [esp + 0x20]
mov eax, esi
imul ecx, ebx
lea esi, [edx + ecx]
cmp esi, 0xfffffffc
ja 0x4e58db
lea esi, [edx + ecx + 3]
cmp esi, dword [esp + 0x18]
jbe 0x4e3a50
jmp 0x4e58fb
lea ecx, [ebx + 1]
cmp ebx, esi
cmovl ebx, ecx
cmovl eax, ecx
cmp esi, ebx
jg 0x4e3a36
jmp 0x4e3970
mov edx, dword [esp + 0x30]
mov edi, dword [esp + 0x2c]
lea ecx, [eax + 1]
cmp eax, edx
cmovl eax, ecx
cmovl edi, ecx
cmp edx, eax
mov dword [esp + 0x2c], edi
jg 0x4e3964
mov ecx, dword [esp + 0xa4]
mov eax, dword [0x6dd4e0]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x3c], eax
add ecx, ecx
test edx, edx
lea eax, [esp + 0x3c]
mov dword [esp + 0x40], 0
mov dword [esp + 0x194], edx
mov dword [esp + 0x44], 0
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], 0
mov byte [esp + 0x1b0], 2
mov dword [esp + 0x1b4], 0
mov byte [esp + 0x1d9], 2
mov dword [esp + 0x1dc], 0
mov dword [esp + 0x1e8], 0x2000208
mov byte [esp + 0x1ec], 1
mov dword [esp + 0x190], eax
je 0x4e3ce4
test ecx, ecx
je 0x4e3cf3
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov esi, ecx
sub eax, edx
cmp eax, 7
jbe 0x4e3e27
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0x60]
bswap esi
mov dword [eax + edx + 4], 0xa1a0a0d
mov dword [eax + edx], 0x474e5089
add edx, 8
bswap edi
mov dword [esp + 0x870], 0
mov dword [esp + 0x88], 0x52444849
mov dword [esp + 0x44], edx
mov bl, byte [esp + 0x1ea]
mov dword [esp + 0x868], edi
mov dword [esp + 0x86c], esi
mov word [esp + 0x870], 0x208
mov ecx, dword [esp + 0x40]
mov byte [esp + 0x874], bl
sub ecx, edx
cmp ecx, 3
jbe 0x4e3e3e
mov eax, dword [esp + 0x3c]
mov dword [eax + edx], 0xd000000
add edx, 4
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x40]
sub eax, edx
cmp eax, 3
jbe 0x4e3e55
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x88]
mov dword [eax + edx], ecx
add edx, 4
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x40]
sub eax, edx
cmp eax, 0xc
jbe 0x4e3e6c
mov eax, dword [esp + 0x3c]
movq xmm0, qword [esp + 0x868]
movq xmm1, qword [esp + 0x86d]
xor edi, edi
movq qword [eax + edx + 5], xmm1
movq qword [eax + edx], xmm0
add edx, 0xd
mov dword [esp + 0x44], edx
mov esi, dword [0x6f11bc]
test esi, esi
je 0x4e3e83
mov eax, 2
xor edx, edx
and edi, edx
and esi, eax
or esi, edi
je 0x4e3fe6
mov esi, dword [0x6f11bc]
xor edi, edi
test esi, esi
je 0x4e3fd0
mov eax, 0x400
xor edx, edx
and edi, edx
and esi, eax
or esi, edi
je 0x4e3fe6
lea edx, [esp + 0x88]
xor ecx, ecx
push 4
call fcn.00465140
add esp, 4
lea edx, [esp + 0x868]
mov ecx, eax
push 0xd
call fcn.00465140
add esp, 4
mov ebx, eax
jmp 0x4e4161
mov dword [esp + 8], 0x683dcb
mov edi, 0x16
jmp 0x4e3d00
mov edi, 0x17
mov dword [esp + 8], str.Zero_height_not_allowedZero_width_not_allowed_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36library_std_srcioimpls.rs
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x868], 0x444e4549
sub eax, edx
cmp eax, 3
jbe 0x4e3de2
mov eax, dword [esp + 0x3c]
mov dword [eax + edx], 0
add edx, 4
mov dword [esp + 0x44], edx
mov eax, dword [esp + 0x40]
sub eax, edx
cmp eax, 3
jbe 0x4e3df9
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x868]
xor ebx, ebx
mov dword [eax + ecx], edx
add ecx, 4
mov dword [esp + 0x44], ecx
mov esi, dword [0x6f11bc]
test esi, esi
je 0x4e3e0c
mov eax, 2
xor edx, edx
and ebx, edx
and esi, eax
or esi, ebx
je 0x4e3eb4
mov esi, dword [0x6f11bc]
xor ebx, ebx
test esi, esi
je 0x4e3e9e
mov eax, 0x400
xor edx, edx
and ebx, edx
and esi, eax
or esi, ebx
je 0x4e3eb4
lea edx, [esp + 0x868]
xor ecx, ecx
push 4
call fcn.00465140
add esp, 4
mov ecx, eax
mov edx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
push 0
call fcn.00465140
add esp, 4
mov ebx, eax
jmp 0x4e3f11
lea ecx, [esp + 0x3c]
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0x44]
jmp 0x4e3d1e
lea ecx, [esp + 0x3c]
push 4
call fcn.005f2340
add esp, 4
jmp 0x4e3d3f
mov esi, 2
call fcn.005efdd0
and ebx, edx
and esi, eax
or esi, ebx
jne 0x4e3d7b
jmp 0x4e3eb4
lea ecx, [esp + 0x3c]
push 8
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0x44]
jmp 0x4e3b97
lea ecx, [esp + 0x3c]
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0x44]
jmp 0x4e3c04
lea ecx, [esp + 0x3c]
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0x44]
jmp 0x4e3c25
lea ecx, [esp + 0x3c]
push 0xd
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0x44]
jmp 0x4e3c49
mov esi, 2
call fcn.005efdd0
and edi, edx
and esi, eax
or esi, edi
jne 0x4e3c94
jmp 0x4e3fe6
mov esi, 0x400
call fcn.005efdd0
and ebx, edx
and esi, eax
or esi, ebx
jne 0x4e3d9e
movzx eax, byte [esp + 0x868]
mov ebx, 0xffffff
xor eax, 0xff
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x869]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x86a]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x86b]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
not ebx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
bswap ebx
sub eax, edx
cmp eax, 3
jbe 0x4e3fb9
mov eax, dword [esp + 0x3c]
mov dword [eax + edx], ebx
add edx, 4
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x44], edx
test eax, eax
je 0x4e3f57
cmp dword [esp + 0x1a0], 0
je 0x4e3f57
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x1b4]
test eax, eax
je 0x4e3f7a
cmp dword [esp + 0x1b8], 0
je 0x4e3f7a
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 8]
lea ecx, [esp + 0x190]
mov dword [esp + 0x190], 1
mov dword [esp + 0x194], 0
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edi
call fcn.004f9c60
mov ebx, eax
mov edi, edx
mov cl, 5
jmp 0x4e5549
lea ecx, [esp + 0x3c]
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0x44]
jmp 0x4e3f26
mov esi, 0x400
call fcn.005efdd0
and edi, edx
and esi, eax
or esi, edi
jne 0x4e3cb7
movzx eax, byte [esp + 0x88]
mov ebx, 0xffffff
xor eax, 0xff
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x89]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x8a]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x8b]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x868]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x869]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x86a]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x86b]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x86c]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x86d]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x86e]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x86f]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x870]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x871]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x872]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x873]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x874]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
not ebx
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
bswap ebx
sub eax, edx
cmp eax, 3
jbe 0x4e4286
mov eax, dword [esp + 0x3c]
mov dword [eax + edx], ebx
add edx, 4
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x1b4]
test edx, edx
je 0x4e43a8
mov ebx, dword [esp + 0x190]
mov dword [esp + 0x88], 0x45544c50
mov esi, dword [esp + 0x1bc]
mov dword [esp + 0xc], edx
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov dword [esp + 8], esi
bswap esi
sub eax, edi
cmp eax, 3
jbe 0x4e429d
mov eax, dword [ebx]
mov dword [eax + edi], esi
add edi, 4
mov dword [ebx + 8], edi
mov eax, dword [ebx + 4]
sub eax, edi
cmp eax, 3
jbe 0x4e42b7
mov eax, dword [ebx]
mov ecx, dword [esp + 0x88]
mov dword [eax + edi], ecx
add edi, 4
mov dword [ebx + 8], edi
mov eax, dword [ebx + 4]
sub eax, edi
cmp eax, dword [esp + 8]
jb 0x4e42d1
mov eax, dword [ebx]
mov esi, dword [esp + 8]
add eax, edi
push esi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, esi
mov dword [ebx + 8], edi
xor edi, edi
mov esi, dword [0x6f11bc]
test esi, esi
je 0x4e42ed
mov eax, 2
xor edx, edx
and edi, edx
and esi, eax
or esi, edi
je 0x4e431b
mov esi, dword [0x6f11bc]
xor edi, edi
test esi, esi
je 0x4e4305
mov eax, 0x400
xor edx, edx
and edi, edx
and esi, eax
or esi, edi
je 0x4e431b
lea edx, [esp + 0x88]
xor ecx, ecx
push 4
call fcn.00465140
add esp, 4
mov edx, dword [esp + 0xc]
mov ecx, eax
push dword [esp + 8]
call fcn.00465140
jmp 0x4e4385
lea ecx, [esp + 0x3c]
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0x44]
jmp 0x4e4176
mov edx, edi
mov ecx, ebx
push 4
call fcn.005f2340
mov edx, dword [esp + 0x10]
add esp, 4
mov edi, dword [ebx + 8]
jmp 0x4e41c7
mov esi, edx
mov edx, edi
mov ecx, ebx
push 4
call fcn.005f2340
mov edx, esi
add esp, 4
mov edi, dword [ebx + 8]
jmp 0x4e41e0
mov esi, edx
mov edx, edi
mov ecx, ebx
push dword [esp + 8]
call fcn.005f2340
mov edx, esi
add esp, 4
mov edi, dword [ebx + 8]
jmp 0x4e4201
mov esi, 2
call fcn.005efdd0
and edi, edx
and esi, eax
or esi, edi
jne 0x4e423c
jmp 0x4e431b
mov esi, 0x400
call fcn.005efdd0
and edi, edx
and esi, eax
or esi, edi
jne 0x4e425f
movzx eax, byte [esp + 0x88]
mov ecx, 0xffffff
mov edx, dword [esp + 0xc]
xor eax, 0xff
xor ecx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x89]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x8a]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x8b]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
not ecx
push dword [esp + 8]
call fcn.00465320
add esp, 4
mov edi, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
bswap edi
sub eax, edx
cmp eax, 3
jbe 0x4e44aa
mov eax, dword [ebx]
mov dword [eax + edx], edi
add edx, 4
mov dword [ebx + 8], edx
mov edx, dword [esp + 0x19c]
test edx, edx
mov dword [esp + 0x78], edx
je 0x4e45d4
mov ebx, dword [esp + 0x190]
mov dword [esp + 0x88], 0x534e5274
mov esi, dword [esp + 0x1a4]
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 8]
mov dword [esp + 8], esi
bswap esi
sub eax, edi
cmp eax, 3
jbe 0x4e44be
mov eax, dword [ebx]
mov dword [eax + edi], esi
add edi, 4
mov dword [ebx + 8], edi
mov eax, dword [ebx + 4]
sub eax, edi
cmp eax, 3
jbe 0x4e44d8
mov eax, dword [ebx]
mov ecx, dword [esp + 0x88]
mov dword [eax + edi], ecx
add edi, 4
mov dword [ebx + 8], edi
mov eax, dword [ebx + 4]
sub eax, edi
cmp eax, dword [esp + 8]
jb 0x4e44f2
mov eax, dword [ebx]
mov esi, dword [esp + 8]
add eax, edi
push esi
push edx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, esi
mov dword [ebx + 8], edi
xor edi, edi
mov esi, dword [0x6f11bc]
test esi, esi
je 0x4e450e
mov eax, 2
xor edx, edx
and edi, edx
and esi, eax
or esi, edi
je 0x4e453c
mov esi, dword [0x6f11bc]
xor edi, edi
test esi, esi
je 0x4e4526
mov eax, 0x400
xor edx, edx
and edi, edx
and esi, eax
or esi, edi
je 0x4e453c
lea edx, [esp + 0x88]
xor ecx, ecx
push 4
call fcn.00465140
add esp, 4
mov edx, dword [esp + 0x78]
mov ecx, eax
push dword [esp + 8]
call fcn.00465140
jmp 0x4e45a6
mov ecx, ebx
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [ebx + 8]
jmp 0x4e439d
mov edx, edi
mov ecx, ebx
push 4
call fcn.005f2340
mov edx, dword [esp + 0x7c]
add esp, 4
mov edi, dword [ebx + 8]
jmp 0x4e43eb
mov esi, edx
mov edx, edi
mov ecx, ebx
push 4
call fcn.005f2340
mov edx, esi
add esp, 4
mov edi, dword [ebx + 8]
jmp 0x4e4404
mov esi, edx
mov edx, edi
mov ecx, ebx
push dword [esp + 8]
call fcn.005f2340
mov edx, esi
add esp, 4
mov edi, dword [ebx + 8]
jmp 0x4e4425
mov esi, 2
call fcn.005efdd0
and edi, edx
and esi, eax
or esi, edi
jne 0x4e4460
jmp 0x4e453c
mov esi, 0x400
call fcn.005efdd0
and edi, edx
and esi, eax
or esi, edi
jne 0x4e4483
movzx eax, byte [esp + 0x88]
mov ecx, 0xffffff
mov edx, dword [esp + 0x78]
xor eax, 0xff
xor ecx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x89]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x8a]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x8b]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
not ecx
push dword [esp + 8]
call fcn.00465320
add esp, 4
mov edi, eax
mov eax, dword [ebx + 4]
mov edx, dword [ebx + 8]
bswap edi
sub eax, edx
cmp eax, 3
jbe 0x4e5413
mov eax, dword [ebx]
mov dword [eax + edx], edi
add edx, 4
mov dword [ebx + 8], edx
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x190]
movsx edx, byte [esp + 0x1e9]
mov edi, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1b4]
movsx esi, byte [esp + 0x1eb]
mov cl, byte [esp + 0x1e8]
mov ch, byte [esp + 0x1ec]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x194]
cmp edx, 3
mov dword [esp + 0x10], esi
mov dword [esp + 0x58], ebx
mov dword [esp + 0xb0], edi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x198]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0xb4], eax
jne 0x4e465d
test ebx, ebx
jne 0x4e465d
xor ecx, ecx
mov esi, 1
mov edx, 0x29
mov eax, str.cant_write_indexed_image_without_palettewrong_data_size__expected__got__h
jmp 0x4e52d7
mov al, byte [edx + 0x6dd7b0]
mov byte [esp + 0x7c], ch
mov ch, cl
add ch, 7
shr ch, 3
mul ch
dec al
cmp al, 8
jae 0x4e5a10
movzx esi, al
mov edi, 0xaf
bt edi, esi
jae 0x4e5a10
mov esi, dword [esp + 0x28]
mov byte [esp + 0x20], al
imul esi, dword [edx*4 + 0x6dd7b8]
cmp cl, 8
mov dword [esp + 0x28], esi
je 0x4e46b2
cmp cl, 0x10
jne 0x4e46b8
mov eax, dword [esp + 0x28]
add eax, eax
jmp 0x4e46d9
mov eax, dword [esp + 0x28]
jmp 0x4e46d9
mov al, 8
movzx eax, al
div cl
cmp cl, 8
ja 0x4e5971
movzx ecx, al
mov eax, dword [esp + 0x28]
xor edx, edx
div ecx
cmp edx, 1
sbb eax, 0xffffffff
mov edx, dword [esp + 0x18]
test eax, eax
mov dword [esp + 0x28], eax
js 0x4e59ba
je 0x4e4756
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e4706
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e5a81
mov dword [0x6f1130], eax
push dword [esp + 0x28]
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0xa0], eax
je 0x4e5a81
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e473c
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e5a81
mov dword [0x6f1130], eax
push dword [esp + 0x28]
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e5a81
mov edx, dword [esp + 0x18]
jmp 0x4e4766
mov dword [esp + 0xa0], 1
mov eax, 1
mov ecx, dword [esp + 0xc]
mov dword [esp + 8], eax
imul ecx, dword [esp + 0x28]
cmp ecx, edx
mov dword [esp + 0x17c], ecx
jne 0x4e4ecd
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e479d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e5aaa
mov dword [0x6f1130], eax
push 0x10102
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e5aaa
mov esi, eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e47cf
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e5abb
mov dword [0x6f1130], eax
push 0x20000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e5abb
mov ebx, eax
movsx eax, byte [esp + 0x20]
mov dword [esp + 0x14], esi
mov esi, dword [eax*4 + 0x6dd7f0]
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + eax + 0x6dd7d4]
movzx edx, word [eax + eax + 0x6dd7de]
mov al, byte [eax + 0x6dd7e8]
mov word [esp + 0xc], cx
mov word [esp + 0x20], dx
mov byte [esp + 0x10], al
push 0x20000
push 0
push ebx
call sub.msvcrt.dll_memset
add esp, 0xc
movdqa xmm0, xmmword [0x606a20]
movdqa xmm1, xmmword [0x606a30]
mov eax, ebx
mov ecx, 0xffff0000
add eax, 0x10000
nop word [eax + eax]
movdqu xmmword [ebx + ecx + 0x10000], xmm0
paddw xmm0, xmm1
add ecx, 0x10
jne 0x4e4850
push 0x10000
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0xc]
mov dword [esp + 0x870], ebx
mov word [esp + 0x874], 0
mov word [esp + 0x88c], 1
mov dword [esp + 0x878], 0
mov dword [esp + 0x86c], 0
mov dword [esp + 0x868], 0
mov word [esp + 0x880], ax
movzx eax, word [esp + 0x20]
mov word [esp + 0x882], ax
mov al, byte [esp + 0x10]
mov byte [esp + 0x88e], al
mov dword [esp + 0x888], 0
mov dword [esp + 0x884], 0
mov dword [esp + 0x87c], 0
mov byte [esp + 0x88f], 0
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e4916
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e5ac2
mov dword [0x6f1130], eax
push 0x8000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e5ac2
mov ebx, eax
lea eax, [esp + 0x8b8]
push 0x3c0
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0x8a4], ebx
mov dword [esp + 0x8a8], 0x8000
mov dword [esp + 0x8ac], 0
mov byte [esp + 0x8b4], 0
mov dword [esp + 0x8b0], 0
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e498f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e5ad3
mov dword [0x6f1130], eax
push 0x1f000
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e5ad3
mov ebx, eax
lea eax, [esp + 0xc84]
push 0x278
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [esp + 0xc78], ebx
mov dword [esp + 0xc7c], 0x7c00
mov dword [esp + 0xc80], 0
mov word [esp + 0xe84], 1
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e49ff
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e5ae4
mov dword [0x6f1130], eax
push 0x8f0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e5ae4
mov ebx, eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e4a31
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e5af5
mov dword [0x6f1130], eax
push 0x26
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e5af5
mov ecx, dword [0x6dd4e0]
movzx edi, word [esp + 0x20]
mov dl, byte [esp + 0x10]
mov dword [esp + 0xf14], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xf18], 0
mov dword [esp + 0xf1c], 0
mov dword [esp + 0x898], ecx
movzx ecx, word [esp + 0xc]
mov dword [esp + 0x89c], 0x10102
mov dword [esp + 0x8a0], 0
mov word [esp + 0xf24], cx
mov word [esp + 0xf26], di
mov byte [esp + 0xf28], dl
mov byte [esp + 0xf29], 0
mov dword [esp + 0xefc], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xf00], 0x11e
mov dword [esp + 0xf04], 0
mov dword [esp + 0xf08], eax
mov dword [esp + 0xf0c], 0x13
mov dword [esp + 0xf10], 0
mov dword [esp + 0x894], 0
mov dword [esp + 0x890], 0
mov dword [esp + 0xf20], 0
mov word [esp + 0xf2a], 0
mov dword [esp + 0xf30], 1
mov dword [esp + 0xf34], 0
mov byte [esp + 0xf38], 0
test ebx, ebx
mov dword [esp + 0x88], ebx
je 0x4e5b06
mov ecx, dword [esp + 8]
mov dword [esp + 0x10], esi
not esi
mov edi, dword [esp + 0x24]
lea eax, [ebx + esi]
mov dword [esp + 0xac], esi
mov dword [esp + 0xc], eax
lea edx, [ecx + esi]
lea eax, [ecx - 1]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0xa0]
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf0], edx
jmp 0x4e4bba
test ecx, ecx
mov dword [esp + 0x54], esi
je 0x4e4fa6
mov eax, ecx
mov edx, ecx
sub eax, ebx
mov dword [esp + 0x60], eax
jb 0x4e59e7
mov esi, edi
push ebx
mov dword [esp + 0xa8], edi
push edi
push dword [esp + 0x10]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, byte [esp + 0x7c]
lea edx, [esp + 0x190]
lea ecx, [esp + 0x868]
mov byte [esp + 0x190], al
push 1
call fcn.004f9330
add esp, 4
mov edi, dword [esp + 0x10]
cmp al, 4
jne 0x4e4f7c
movzx eax, byte [esp + 0x7c]
mov esi, dword [esp + 0x54]
mov eax, dword [eax*4 + 0x4e5bec]
add eax, dword [esp + 0x38]
jmp eax
mov dword [esp + 0x64], edx
lea eax, [esp + 0x17c]
lea edx, [esp + 0x64]
lea ecx, [esp + 0x868]
mov dword [esp + 0x190], 0x683d48
mov dword [esp + 0x194], 2
mov dword [esp + 0x198], 0
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x868], eax
mov dword [esp + 0x86c], 0x45a1b0
mov dword [esp + 0x870], edx
lea ecx, [esp + 0x88]
lea edx, [esp + 0x190]
mov dword [esp + 0x874], 0x45a1b0
mov dword [esp + 0x1a4], 2
call fcn.0040a660
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov edi, dword [esp + 0x90]
mov esi, 1
mov ecx, 1
cmp dword [esp + 0x28], 0
jne 0x4e5288
jmp 0x4e52d7
lea ecx, [esp + 0x868]
mov ebx, eax
mov dword [esp + 0xc], edx
call fcn.004f9b10
mov eax, dword [esp + 0xc]
xor esi, esi
mov ecx, ebx
cmp dword [esp + 0x28], 0
jne 0x4e5288
jmp 0x4e52d7
push 0x6d8
lea eax, [esp + 0x86c]
push eax
lea esi, [esp + 0x198]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, esi
call fcn.004f9950
cmp al, 4
jne 0x4e524c
mov eax, dword [esp + 0x83c]
mov ecx, dword [esp + 0x840]
mov edi, dword [esp + 0x844]
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x83c], 0
test eax, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], eax
je 0x4e5b39
lea ecx, [esp + 0x190]
call fcn.004f9b10
test edi, edi
je 0x4e526b
mov eax, dword [esp + 0x20]
mov ecx, edi
mov dword [esp + 0xc], eax
jmp 0x4e50ce
movzx eax, byte [esp + 0x190]
mov edx, dword [esp + 0xc]
xor eax, 0xff
mov ecx, dword [eax*4 + 0x616ca4]
mov eax, 0xffffff
xor ecx, eax
movzx eax, byte [esp + 0x191]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
movzx eax, byte [esp + 0x192]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
movzx eax, byte [esp + 0x193]
xor al, cl
shr ecx, 8
movzx eax, al
xor ecx, dword [eax*4 + 0x616ca4]
not ecx
push edi
call fcn.00465320
add esp, 4
mov esi, dword [esp + 0x5c]
mov ebx, eax
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
sub ecx, edi
sub eax, edx
cmp eax, 3
jbe 0x4e51b9
mov eax, dword [esi]
add dword [esp + 0xc], edi
bswap ebx
mov dword [eax + edx], ebx
add edx, 4
test ecx, ecx
mov dword [esi + 8], edx
je 0x4e526b
mov dword [esp + 0x190], 0x54414449
cmp ecx, 0x7fffffff
mov edi, 0x7fffffff
mov dword [esp + 0x10], ecx
mov eax, dword [esi + 4]
mov ebx, dword [esi + 8]
cmovb edi, ecx
sub eax, ebx
cmp eax, 3
jbe 0x4e51d5
mov ecx, dword [esi]
mov eax, edi
bswap eax
mov dword [ecx + ebx], eax
add ebx, 4
mov dword [esi + 8], ebx
mov eax, dword [esi + 4]
sub eax, ebx
cmp eax, 3
jbe 0x4e51eb
mov eax, dword [esi]
mov ecx, dword [esp + 0x190]
mov dword [eax + ebx], ecx
add ebx, 4
mov dword [esi + 8], ebx
mov eax, dword [esi + 4]
sub eax, ebx
cmp eax, edi
jb 0x4e5201
mov eax, dword [esi]
add eax, ebx
push edi
push dword [esp + 0x10]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add ebx, edi
mov dword [esi + 8], ebx
xor ebx, ebx
mov esi, dword [0x6f11bc]
test esi, esi
je 0x4e5216
mov eax, 2
xor edx, edx
and ebx, edx
and esi, eax
or esi, ebx
je 0x4e5029
mov esi, dword [0x6f11bc]
xor ebx, ebx
test esi, esi
je 0x4e5231
mov eax, 0x400
xor edx, edx
and ebx, edx
and esi, eax
or esi, ebx
je 0x4e5029
xor ecx, ecx
lea edx, [esp + 0x190]
push 4
call fcn.00465140
add esp, 4
mov edx, dword [esp + 0xc]
mov ecx, eax
push edi
call fcn.00465140
jmp 0x4e5095
mov dword [esp + 0x10], ecx
mov ecx, esi
push 4
call fcn.005f2340
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, dword [esi + 8]
jmp 0x4e50b5
mov ecx, esi
mov edx, ebx
push 4
call fcn.005f2340
add esp, 4
mov ebx, dword [esi + 8]
jmp 0x4e50fc
mov ecx, esi
mov edx, ebx
push 4
call fcn.005f2340
add esp, 4
mov ebx, dword [esi + 8]
jmp 0x4e5119
mov ecx, esi
mov edx, ebx
push edi
call fcn.005f2340
add esp, 4
mov ebx, dword [esi + 8]
jmp 0x4e5138
mov esi, 2
call fcn.005efdd0
and ebx, edx
and esi, eax
or esi, ebx
jne 0x4e5172
jmp 0x4e5029
mov esi, 0x400
call fcn.005efdd0
and ebx, edx
and esi, eax
or esi, ebx
jne 0x4e5195
jmp 0x4e5029
lea ecx, [esp + 0x190]
mov esi, edx
mov edi, eax
call fcn.004f9b10
mov ecx, edi
mov eax, esi
xor esi, esi
cmp dword [esp + 0x28], 0
jne 0x4e5288
jmp 0x4e52d7
cmp dword [esp + 0x14], 0
je 0x4e5283
push dword [esp + 0x20]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov esi, 2
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
push dword [esp + 8]
push 0
push dword [0x6f1130]
mov ebx, esi
mov edi, ecx
mov esi, edx
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0xa0]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov ecx, edi
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0xc]
mov edx, esi
mov esi, ebx
cmp ebx, 2
jne 0x4e52d7
xor edi, edi
mov byte [esp + 8], 6
jmp 0x4e530f
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], ecx
lea ecx, [esp + 0x190]
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], edi
call fcn.004f9c60
mov ebx, eax
mov edi, edx
mov byte [esp + 8], 5
mov esi, dword [esp + 0x5c]
mov dword [esp + 0x190], 0x444e4549
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
sub eax, edx
cmp eax, 3
jbe 0x4e53d3
mov eax, dword [esi]
mov dword [eax + edx], 0
add edx, 4
mov dword [esi + 8], edx
mov eax, dword [esi + 4]
sub eax, edx
cmp eax, 3
jbe 0x4e53e7
mov eax, dword [esi]
mov ecx, dword [esp + 0x190]
mov dword [esp + 0xc], ebx
xor ebx, ebx
mov dword [eax + edx], ecx
add edx, 4
mov dword [esi + 8], edx
mov esi, dword [0x6f11bc]
test esi, esi
je 0x4e53fb
mov eax, 2
xor edx, edx
and ebx, edx
and esi, eax
or esi, ebx
je 0x4e543d
mov esi, dword [0x6f11bc]
xor ebx, ebx
test esi, esi
je 0x4e5427
mov eax, 0x400
xor edx, edx
and ebx, edx
and esi, eax
or esi, ebx
je 0x4e543d
lea edx, [esp + 0x190]
xor ecx, ecx
push 4
call fcn.00465140
add esp, 4
mov ecx, eax
mov edx, str._cargo_registry_src_github.com_1ecc6299db9ec823_utfx_0.1.0_src_ucstr.rs
push 0
call fcn.00465140
add esp, 4
mov ebx, eax
jmp 0x4e549a
mov ecx, esi
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [esi + 8]
jmp 0x4e532f
mov ecx, esi
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [esi + 8]
jmp 0x4e534c
mov esi, 2
call fcn.005efdd0
and ebx, edx
and esi, eax
or esi, ebx
jne 0x4e5385
jmp 0x4e543d
mov ecx, ebx
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [ebx + 8]
jmp 0x4e45be
mov esi, 0x400
call fcn.005efdd0
and ebx, edx
and esi, eax
or esi, ebx
jne 0x4e53a8
movzx eax, byte [esp + 0x190]
mov ebx, 0xffffff
xor eax, 0xff
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x191]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x192]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
mov al, byte [esp + 0x193]
xor al, bl
shr ebx, 8
movzx eax, al
xor ebx, dword [eax*4 + 0x616ca4]
not ebx
mov esi, dword [esp + 0x5c]
bswap ebx
mov eax, dword [esi + 4]
mov edx, dword [esi + 8]
sub eax, edx
cmp eax, 3
jbe 0x4e57d9
mov eax, dword [esi]
mov dword [eax + edx], ebx
mov eax, dword [esp + 0x78]
add edx, 4
mov dword [esi + 8], edx
test eax, eax
je 0x4e54dc
cmp dword [esp + 0xb0], 0
je 0x4e54dc
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0xc]
test eax, eax
je 0x4e5500
cmp dword [esp + 0xb4], 0
je 0x4e5500
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov cl, byte [esp + 8]
cmp cl, 6
jne 0x4e5549
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x170]
push dword [esp + 0x44]
push esi
call fcn.005e0250
add esp, 8
cmp al, 4
jne 0x4e563b
test edi, edi
mov byte [esp + 0x190], 6
jne 0x4e5655
jmp 0x4e579b
mov eax, dword [esp + 0x168]
movsd xmm0, qword [esp + 0x160]
movq xmm2, qword [esp + 0x150]
movsd xmm1, qword [esp + 0x158]
cmp dword [esp + 0x40], 0
movzx esi, cl
mov dword [esp + 0xe0], eax
movsd qword [esp + 0xd8], xmm0
movsd qword [esp + 0xd0], xmm1
movq qword [esp + 0xc8], xmm2
je 0x4e55a8
push dword [esp + 0x3c]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movsd xmm1, qword [esp + 0xd0]
movq xmm0, qword [esp + 0xc8]
mov eax, dword [esp + 0xe0]
movsd qword [esp + 0x1a4], xmm1
movq xmm1, qword [esp + 0xd8]
movq qword [esp + 0x19c], xmm0
mov dword [esp + 0x1b4], eax
movq qword [esp + 0x1ac], xmm1
mov dword [esp + 0x190], esi
mov dword [esp + 0x194], ebx
mov dword [esp + 0x198], edi
movzx eax, byte [esp + 0x190]
cmp eax, 6
je 0x4e579b
cmp eax, 4
ja 0x4e5675
mov ecx, dword [esp + 0x38]
add ecx, dword [eax*4 + 0x4e5c00]
jmp ecx
test edi, edi
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], edx
mov byte [esp + 0x190], 5
je 0x4e5675
push esi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
movzx eax, byte [esp + 0x190]
cmp eax, 6
jne 0x4e5612
jmp 0x4e579b
cmp byte [esp + 0x194], 3
jne 0x4e579b
mov esi, dword [esp + 0x198]
mov eax, dword [esi + 4]
push dword [esi]
call dword [eax]
add esp, 4
mov ecx, dword [esi + 4]
cmp dword [ecx + 4], 0
je 0x4e56b6
mov eax, dword [esi]
cmp dword [ecx + 8], 9
jb 0x4e56a8
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x198]
jmp 0x4e578e
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x18], 0
je 0x4e57b3
push dword [esp + 0x24]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xc4], 0
je 0x4e57d1
push dword [esp + 0xc0]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, esi
push 4
call fcn.005f2340
add esp, 4
mov edx, dword [esi + 8]
jmp 0x4e54b1
push 0x684ed8
push eax
call fcn.0045d480
add esp, 0xc
ud2
lea eax, [esp + 4]
mov ecx, str.already_borrowed_
mov edx, 0x10
push 0x684d40
jmp 0x4e5816
mov eax, dword [esp + 0x5c]
imul eax, ebx
lea eax, [eax + eax*2]
lea ecx, [edx + eax*2]
lea edx, [edx + eax*2 + 3]
push 0x68463c
call fcn.0045ce70
add esp, 4
ud2
mov eax, dword [esp + 0x5c]
imul eax, ebx
lea eax, [eax + eax*2]
lea ecx, [edx + eax*2 + 3]
mov edx, dword [esp + 0x18]
push 0x68463c
call fcn.0045ab50
add esp, 4
ud2
mov ecx, 0x683ccd
mov edx, 0x22
push 0x683cf0
call fcn.0045d290
add esp, 4
ud2
mov ecx, 0x688d10
mov edx, 0x19
push 0x688d2c
call fcn.0045aec0
add esp, 4
ud2
lea eax, [esp + 4]
mov ecx, str.already_borrowed_
mov edx, 0x10
push 0x684db0
jmp 0x4e5816
lea eax, [esp + 4]
mov ecx, str.already_borrowed_
mov edx, 0x10
push 0x684dc0
jmp 0x4e5816
call fcn.0040a620
ud2
mov ecx, ebx
mov edx, 1
call fcn.0040a640
ud2
lea eax, [esp + 4]
mov ecx, str.already_borrowed_
mov edx, 0x10
push 0x684d80
jmp 0x4e5816
mov ecx, ebx
push 0x683da4
call fcn.0045f700
add esp, 4
ud2
lea eax, [esp + 0x868]
lea ecx, [esp + 0x190]
mov edx, 0x688d6c
mov dword [esp + 0x868], 0x688d64
mov dword [esp + str.internal_error:_entered_unreachable_code:], 0x6d3a40
mov dword [esp + 0x194], 1
mov dword [esp + 0x198], 0
mov dword [esp + 0x86c], 0x5c1350
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], 1
call fcn.0045a2c0
ud2
mov ecx, esi
mov edx, 1
call fcn.0040a640
ud2
mov ecx, dword [esp + 0x28]
mov edx, 1
call fcn.0040a640
ud2
mov ecx, str.called__Option::unwrap____on_a__None__value_rustc_532d2b14c05f9bc20b2d27cbb5f4550d28343a36librarycore_src_strpattern.rs
mov edx, 0x2b
push 0x6829a8
call fcn.0045aec0
add esp, 4
ud2
mov ecx, 0x10102
mov edx, 1
call fcn.0040a640
ud2
mov ecx, 0x20000
jmp 0x4e5ad8
mov ecx, 0x8000
mov edx, 1
call fcn.0040a640
ud2
mov ecx, 0x1f000
mov edx, 2
call fcn.0040a640
ud2
mov ecx, 0x8f0
mov edx, 4
call fcn.0040a640
ud2
mov ecx, 0x26
mov edx, 1
call fcn.0040a640
ud2
mov dword [esp + 0x190], 0
lea edx, [esp + 0x88]
mov ecx, 1
push 0x683e2c
lea eax, [esp + 0x194]
push eax
push 0x6d5844
call fcn.00502f60
add esp, 0xc
ud2
mov ecx, 0x683ecc
mov edx, 0x49
push 0x683f28
call fcn.0045d290
add esp, 4
ud2