Function at 0x4de650
Capabilities:
Compute adler32 checksum
Encode data using base64
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x100e0
call fcn.00603dc0
mov eax, dword [0x6f1130]
mov edi, edx
mov esi, ecx
test eax, eax
jne 0x4de682
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e0ed5
mov dword [0x6f1130], eax
push pe_nt_image_headers32
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e0ed5
mov edx, str.uuidaccess_tokenconfig_idWritingWaitingIOProcessingIdle
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], pe_nt_image_headers32
mov dword [esp + 0xe4], 0
mov byte [eax], 0x7b
mov dword [esp + 0xe4], 1
lea ecx, [esp + 0xdc]
push 4
call fcn.004d51b0
add esp, 4
mov edx, dword [esp + 0xe4]
cmp dword [esp + 0xe0], edx
je 0x4e0b0c
mov eax, dword [esp + 0xdc]
lea ecx, [esp + 0xdc]
mov byte [eax + edx], 0x3a
inc edx
mov dword [esp + 0xe4], edx
mov edx, dword [edi]
push dword [edi + 8]
call fcn.004d51b0
add esp, 4
mov edx, dword [esp + 0xe4]
cmp dword [esp + 0xe0], edx
je 0x4e0b29
mov eax, dword [esp + 0xdc]
lea ecx, [esp + 0xdc]
mov byte [eax + edx], 0x2c
inc edx
mov dword [esp + 0xe4], edx
mov edx, 0x68311c
push 0xc
call fcn.004d51b0
add esp, 4
mov edx, dword [esp + 0xe4]
cmp dword [esp + 0xe0], edx
je 0x4e0b46
mov eax, dword [esp + 0xdc]
lea ecx, [esp + 0xdc]
mov byte [eax + edx], 0x3a
inc edx
mov dword [esp + 0xe4], edx
mov edx, dword [edi + 0xc]
push dword [edi + 0x14]
call fcn.004d51b0
add esp, 4
mov edx, dword [esp + 0xe4]
cmp dword [esp + 0xe0], edx
je 0x4e0b63
mov eax, dword [esp + 0xdc]
lea ecx, [esp + 0xdc]
mov byte [eax + edx], 0x2c
inc edx
mov dword [esp + 0xe4], edx
mov edx, 0x683128
push 9
call fcn.004d51b0
add esp, 4
mov edx, dword [esp + 0xe4]
cmp dword [esp + 0xe0], edx
je 0x4e0b80
mov eax, dword [esp + 0xdc]
lea ecx, [esp + 0xdc]
mov byte [eax + edx], 0x3a
inc edx
mov dword [esp + 0xe4], edx
mov edx, dword [edi + 0x18]
push dword [edi + 0x20]
call fcn.004d51b0
add esp, 4
mov ecx, dword [esp + 0xe4]
cmp dword [esp + 0xe0], ecx
mov eax, ecx
mov dword [esp + 0x24], ecx
je 0x4e0b9d
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0x24]
mov byte [eax + ecx], 0x7d
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x98], eax
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4de865
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e0edc
mov dword [0x6f1130], eax
push 0x400
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
mov dword [esp + 0x60], eax
je 0x4e0edc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4de899
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e0ee3
mov dword [0x6f1130], eax
push 0x10068
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e0ee3
mov edi, eax
push 0x10000
push 0
lea eax, [esp + 0xe4]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4de8e2
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e0ef4
mov dword [0x6f1130], eax
push 0x14ccc
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e0ef4
mov dword [esp + 0x94], esi
push 0x14ccc
push 0
mov dword [esp + 0x10], eax
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
xorps xmm0, xmm0
mov dword [esp + 0x50], 0
mov dword [esp + 0x80], 0
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x70], xmm0
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4de94d
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e0f05
mov dword [0x6f1130], eax
push 0x10e0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e0f05
mov esi, eax
mov dword [esp + 0x34], edi
push 0x10e0
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4de993
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e0f0c
mov dword [0x6f1130], eax
push 0x28102
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x4e0f0c
mov edi, eax
push 0x28102
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov eax, dword [esp + 0x34]
movaps xmm0, xmmword [0x6069d0]
mov dword [eax + 0x10054], edi
mov edi, eax
mov dword [eax + 0x1005c], 0
mov dword [eax + 0x10058], 0
mov dword [eax + 0x10064], 0
mov dword [eax + 0x10060], 0
movups xmmword [eax], xmm0
add eax, 0x10
push 0x10000
lea ecx, [esp + 0xe0]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
mov ecx, dword [esp + 8]
mov dword [esp + 0x68], 0
movsd qword [edi + 0x10014], xmm0
movsd qword [edi + 0x1001c], xmm1
mov eax, dword [esp + 0x50]
mov dword [edi + 0x10024], eax
mov dword [edi + 0x10028], 1
movq xmm0, qword [esp + 0x70]
movq xmm1, qword [esp + 0x78]
movq qword [edi + 0x1002c], xmm0
movq qword [edi + 0x10034], xmm1
mov eax, dword [esp + 0x80]
mov dword [edi + 0x1003c], eax
mov dword [edi + 0x10040], ecx
mov dword [edi + 0x10044], 0
mov dword [edi + 0x10048], esi
mov dword [edi + 0x10010], 0x300
mov byte [edi + 0x10044], 0
mov dword [edi + 0x10050], 0x41
mov dword [edi + 0x1004c], 0x101
mov edx, dword [edi + 0x10034]
cmp edx, 1
jne 0x4deb44
mov edx, dword [ebp + 8]
lea ecx, [esp + 0xdc]
push dword [esp + 0x68]
push dword [esp + 0x64]
push dword [ebp + 0xc]
call fcn.004d2770
add esp, 0xc
cmp dword [esp + 0xdc], 0
je 0x4e039d
push dword [edi + 0x10040]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push dword [edi + 0x10048]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push dword [edi + 0x10054]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push edi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x94]
mov dword [eax], 0
jmp 0x4e0aae
mov ecx, edi
mov eax, dword [esp + 0xa0]
inc dword [esp + 0x24]
mov esi, 0x400
pxor xmm4, xmm4
mov dword [esp + 0x68], 0
add ecx, 0x10010
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x60]
test edx, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0xdc], eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0xd8], esi
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xe0], edx
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 1
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], esi
mov dword [edi + 0x10030], 0
mov dword [edi + 0x1002c], 0
mov byte [edi + 0x10046], 4
je 0x4dec10
xor eax, eax
xor ecx, ecx
mov dword [edi + 0x10034], 0xfffffffe
mov dword [esp + 8], 0xfffffffe
mov edx, dword [esp + 0x24]
mov ebx, edx
sub ebx, eax
jae 0x4dff26
jmp 0x4e038c
cmp dword [edi + 0x10024], 0
jne 0x4df274
cmp byte [edi + 0x10047], 0
jne 0x4df274
mov eax, dword [esp + 0x5c]
mov ecx, 0xb4fff
mov eax, dword [eax]
and eax, ecx
cmp eax, 0x4001
jne 0x4df298
cmp dword [esp + 0x2c], 0
je 0x4dfe0c
mov esi, dword [edi + 0x10060]
mov dword [esp + 0xc], 0
mov eax, esi
mov eax, dword [edi + 0x1005c]
mov dword [esp + 0x1c], esi
and esi, 0x7fff
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
sub eax, dword [esp + 0xc]
ja 0x4dec93
cmp byte [edi + 0x10046], 0
je 0x4dfd49
cmp dword [esp + 0x28], 0
je 0x4dfd49
mov ecx, dword [esp + 0x28]
mov ebx, 0x1000
mov dword [esp + 0x10], esi
sub ebx, ecx
cmp eax, ebx
cmovbe ebx, eax
test ebx, ebx
mov dword [esp + 0x30], ebx
je 0x4dedb0
mov eax, dword [esp + 0x1c]
lea edi, [ecx + eax]
mov ecx, dword [esp + 0xc]
jmp 0x4decfb
mov ecx, dword [esp + 0x34]
or edi, 0x8000
mov ecx, dword [ecx + 0x10054]
lea ecx, [ecx + edi + 0x20000]
push eax
push dword [esp + 0x18]
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov edi, dword [esp + 0x18]
sub ebx, esi
pxor xmm4, xmm4
mov ecx, eax
je 0x4dedb4
and edi, 0x7fff
mov esi, 0x8000
mov dword [esp + 8], ecx
sub esi, edi
cmp esi, ebx
cmova esi, ebx
lea ecx, [esi + edi]
cmp ecx, 0x8103
jae 0x4e0d68
mov edx, esi
add edx, dword [esp + 8]
jb 0x4e0d7c
cmp edx, dword [esp + 0x24]
mov dword [esp + 0x18], ecx
mov dword [esp + 0xc], edx
ja 0x4e0d8a
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 8]
mov eax, dword [eax + 0x10054]
add ecx, edx
lea eax, [eax + edi + 0x20000]
push esi
mov dword [esp + 0x18], ecx
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp edi, 0x101
jae 0x4dece5
mov eax, 0x101
sub eax, edi
cmp esi, eax
cmovbe eax, esi
lea ecx, [eax + edi + 0x8000]
cmp ecx, 0x8103
jae 0x4e0da1
mov ecx, dword [esp + 8]
mov edx, eax
add edx, ecx
jb 0x4e0db5
cmp edx, dword [esp + 0x24]
jbe 0x4decc0
jmp 0x4e0dbf
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x30]
mov edi, dword [esp + 0x34]
mov dword [esp + 0xc], eax
mov eax, 0x8000
add ebx, dword [esp + 0x28]
mov ecx, dword [edi + 0x10064]
sub eax, ebx
cmp eax, ecx
cmova eax, ecx
mov dword [edi + 0x10064], eax
cmp byte [edi + 0x10046], 0
jne 0x4dedf1
cmp ebx, 0x1000
jb 0x4dfd4d
mov esi, dword [esp + 0x10]
cmp ebx, 4
jae 0x4dee1d
mov dword [esp + 0x28], 0
jmp 0x4df19b
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x30]
cmp ebx, 3
jbe 0x4dedfa
mov ecx, dword [edi + 0x10054]
mov eax, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x30], ebx
and eax, 0x7fff
mov esi, dword [ecx + eax + 0x20000]
mov eax, esi
mov dword [esp + 0x18], esi
and esi, 0xfff
and eax, 0xffffff
mov edx, eax
shr edx, 0x11
xor esi, edx
mov edx, dword [esp + 0x1c]
movzx ebx, word [ecx + esi*2 + 0x10000]
mov word [ecx + esi*2 + 0x10000], dx
sub edx, ebx
mov esi, ebx
movzx ebx, dx
cmp ebx, dword [edi + 0x10064]
ja 0x4dee10
mov ecx, dword [edi + 0x10054]
and esi, 0x7fff
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], esi
mov edx, dword [ecx + esi + 0x20000]
mov esi, 0xffffff
and edx, esi
cmp eax, edx
jne 0x4def90
mov edx, dword [esp + 0x14]
mov eax, 0x80ff
mov dword [esp + 0x38], ebx
xor ebx, ebx
sub eax, edx
lea edi, [ecx + edx + 0x20003]
and eax, 0xfffffff8
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
lea eax, [ecx + eax + 0x20003]
nop dword [eax + eax]
cmp ebx, 0x100
je 0x4defe1
mov edx, dword [esp + 0x10]
lea ecx, [edx + ebx + 3]
lea edx, [edx + ebx + 0xb]
cmp ecx, 0xfffffff7
ja 0x4e0d10
cmp edx, 0x8102
ja 0x4e0d1a
cmp dword [esp + 8], ebx
je 0x4e0d1e
mov esi, dword [edi + ebx]
mov edx, dword [edi + ebx + 4]
xor esi, dword [eax + ebx]
xor edx, dword [eax + ebx + 4]
add ebx, 8
mov ecx, esi
or ecx, edx
je 0x4deed0
bsf eax, edx
bsf ecx, esi
mov edi, dword [esp + 0x34]
add eax, 0x20
test esi, esi
mov esi, dword [esp + 0x1c]
cmovne eax, ecx
shr eax, 3
lea edx, [eax + ebx - 5]
cmp edx, 3
jb 0x4def5a
lea eax, [eax + ebx - 8]
test eax, eax
jne 0x4deffa
cmp dword [esp + 0x38], 0x1fff
jbe 0x4deffa
mov ecx, dword [edi]
cmp ecx, 0x10000
jae 0x4e0c10
mov eax, dword [esp + 0x18]
mov byte [edi + ecx + 0x10], al
inc dword [edi]
mov ecx, dword [edi + 4]
cmp ecx, 0x10000
jb 0x4defbb
jmp 0x4e0c26
mov ecx, dword [edi]
cmp ecx, 0x10000
jae 0x4e0c10
mov eax, dword [esp + 0x18]
mov byte [edi + ecx + 0x10], al
inc dword [edi]
mov ecx, dword [edi + 4]
cmp ecx, 0x10000
jae 0x4e0c26
mov esi, dword [esp + 0x1c]
shr byte [edi + ecx + 0x10], 1
movzx ecx, al
mov edx, 1
mov eax, dword [edi + 0x10048]
inc word [eax + ecx*2]
dec dword [edi + 0xc]
je 0x4df0e7
mov eax, dword [edi]
jmp 0x4df0f6
cmp word [esp + 0x28], 0
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
mov edx, 0x102
je 0x4def5a
mov eax, dword [esp + 0x30]
cmp edx, eax
cmova edx, eax
mov eax, dword [edi]
cmp eax, 0x10000
jae 0x4e0c06
lea ecx, [edx - 3]
mov byte [edi + eax + 0x10], cl
mov eax, dword [edi]
inc eax
cmp eax, 0x10000
mov dword [edi], eax
jae 0x4e0c06
mov ebx, dword [esp + 0x28]
dec ebx
mov byte [edi + eax + 0x10], bl
mov eax, dword [edi]
inc eax
cmp eax, 0x10000
mov dword [edi], eax
jae 0x4e0c06
movzx esi, bx
mov dword [esp + 8], ecx
mov ecx, ebx
mov ebx, esi
shr ebx, 8
mov byte [edi + eax + 0x10], bl
inc dword [edi]
mov eax, dword [edi + 4]
cmp eax, 0x10000
jae 0x4e0c0a
shr byte [edi + eax + 0x10], 1
mov eax, dword [edi + 4]
cmp eax, 0x10000
jae 0x4e0c0a
or byte [edi + eax + 0x10], 0x80
cmp esi, 0x200
jae 0x4df089
lea eax, [esi + 0x6862fc]
jmp 0x4df09b
movzx eax, bx
test cx, cx
js 0x4e0c66
lea eax, [eax + 0x6866fc]
movzx eax, byte [eax]
mov esi, dword [edi + 0x10048]
mov ecx, dword [esp + 8]
inc word [esi + eax*2 + 0x240]
cmp ecx, 0x100
jae 0x4e0c3e
movzx ecx, word [edx + edx + 0x685f92]
cmp ecx, 0x120
jae 0x4e0c52
mov esi, dword [esp + 0x1c]
mov eax, dword [edi + 0x10048]
inc word [eax + ecx*2]
dec dword [edi + 0xc]
jne 0x4defda
mov dword [edi + 0xc], 8
mov eax, dword [edi]
mov dword [edi + 4], eax
inc eax
mov dword [edi], eax
add dword [edi + 8], edx
add esi, edx
mov ecx, dword [edi + 0x10064]
mov ebx, esi
mov esi, 0x8000
add ecx, edx
cmp ecx, 0x8000
cmovae ecx, esi
mov esi, dword [esp + 0x10]
mov dword [edi + 0x10064], ecx
mov ecx, dword [esp + 0x30]
add esi, edx
sub ecx, edx
and esi, 0x7fff
cmp eax, 0xfff9
jb 0x4df180
lea edx, [esp + 0xdc]
mov dword [edi + 0x1005c], ecx
mov dword [edi + 0x10060], ebx
mov ecx, edi
push 0
call fcn.00534040
add esp, 4
test eax, eax
jne 0x4dfcfe
test edx, edx
pxor xmm4, xmm4
jne 0x4dfd18
mov eax, dword [edi + 0x10060]
mov ebx, dword [edi + 0x1005c]
mov dword [esp + 0x1c], eax
jmp 0x4dee18
mov dword [esp + 0x1c], ebx
mov ebx, ecx
jmp 0x4dee18
mov dword [esp + 0x1c], edx
inc esi
and esi, 0x7fff
test ebx, ebx
je 0x4dec71
mov eax, dword [edi + 0x10054]
movzx eax, byte [eax + esi + 0x20000]
inc dword [edi + 8]
mov ecx, dword [edi]
cmp ecx, 0x10000
jae 0x4e0c10
mov byte [edi + ecx + 0x10], al
inc dword [edi]
mov ecx, dword [edi + 4]
cmp ecx, 0x10000
jae 0x4e0c26
shr byte [edi + ecx + 0x10], 1
dec dword [edi + 0xc]
jne 0x4df1ef
mov dword [edi + 0xc], 8
mov ecx, dword [edi]
mov dword [edi + 4], ecx
inc ecx
mov dword [edi], ecx
mov ecx, dword [edi + 0x10048]
movzx eax, al
mov edx, dword [esp + 0x1c]
inc word [ecx + eax*2]
inc edx
mov ecx, 0x8000
mov eax, dword [edi + 0x10064]
inc eax
cmp eax, 0x8000
cmovae eax, ecx
dec ebx
mov dword [edi + 0x10064], eax
cmp dword [edi], 0xfff8
jbe 0x4df190
mov dword [edi + 0x1005c], ebx
mov dword [edi + 0x10060], edx
lea edx, [esp + 0xdc]
mov ecx, edi
push 0
call fcn.00534040
add esp, 4
test eax, eax
jne 0x4dfc85
mov eax, dword [esp + 0xc]
test edx, edx
pxor xmm4, xmm4
jne 0x4dfd1c
mov eax, dword [edi + 0x10060]
mov ebx, dword [edi + 0x1005c]
mov dword [esp + 0x1c], eax
jmp 0x4df194
lea ecx, [esp + 0x40]
lea edx, [esp + 0xdc]
push dword [esp + 0x5c]
call fcn.00533dd0
pxor xmm4, xmm4
add esp, 4
mov eax, dword [esp + 0x40]
jmp 0x4dff06
cmp dword [esp + 0x2c], 0
je 0x4dfe0c
mov esi, dword [edi + 0x1005c]
mov eax, dword [edi + 0x10060]
mov bl, byte [edi + 0x10045]
mov edx, dword [edi + 0x10018]
mov ecx, dword [edi + 0x1001c]
mov dword [esp + 8], 0
mov dword [esp + 0x14], eax
mov byte [esp + 0x23], bl
mov dword [esp + 0x58], edx
mov dword [esp + 0x28], ecx
jmp 0x4df325
mov eax, dword [esp + 8]
mov ecx, edi
lea edx, [esp + 0xdc]
mov dword [edi + 0x1002c], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x1005c], esi
mov dword [edi + 0x10060], eax
push 0
call fcn.00534040
pxor xmm4, xmm4
add esp, 4
cmp eax, 1
mov eax, 0
sbb eax, eax
not eax
or eax, edx
jne 0x4dfcd4
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 8]
sub ecx, eax
ja 0x4df346
cmp byte [edi + 0x10046], 0
je 0x4dfc9b
test esi, esi
je 0x4dfc9b
mov eax, dword [edi + 0x10064]
mov ebx, 0x102
sub ebx, esi
cmp ecx, ebx
cmovbe ebx, ecx
add eax, esi
cmp eax, 2
jb 0x4df470
test ebx, ebx
je 0x4df470
mov ecx, dword [esp + 8]
mov edx, ebx
add edx, ecx
jb 0x4e0e98
cmp edx, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], edx
ja 0x4e0ea2
mov ebx, dword [esp + 0x14]
mov edi, dword [edi + 0x10054]
mov edx, esi
lea ecx, [esi + ebx - 2]
mov eax, ecx
and eax, 0x7fff
movzx esi, byte [edi + eax + 0x20000]
lea eax, [edx + ebx - 1]
add ebx, edx
add edx, dword [esp + 0x10]
dec dword [esp + 0x10]
and eax, 0x7fff
movzx eax, byte [edi + eax + 0x20000]
shl esi, 5
mov dword [esp + 0x18], edx
xor esi, eax
mov eax, dword [esp + 8]
add eax, dword [esp + 0x2c]
nop word cs:[eax + eax]
mov dword [esp + 8], eax
movzx eax, byte [eax]
and ebx, 0x7fff
cmp ebx, 0x100
mov byte [edi + ebx + 0x20000], al
mov edi, dword [esp + 0x34]
ja 0x4df40d
mov edx, dword [edi + 0x10054]
mov byte [edx + ebx + 0x28000], al
shl esi, 5
movzx eax, al
mov edx, ecx
and esi, 0x7fe0
and edx, 0x7fff
xor esi, eax
mov eax, dword [edi + 0x10054]
movzx edi, word [eax + esi*2 + 0x10000]
mov word [eax + edx*2], di
mov edi, dword [esp + 0x34]
mov edx, dword [esp + 0x10]
mov eax, dword [edi + 0x10054]
test edx, edx
mov word [eax + esi*2 + 0x10000], cx
je 0x4df590
mov eax, dword [esp + 8]
mov edi, dword [edi + 0x10054]
dec edx
inc ecx
inc ebx
mov dword [esp + 0x10], edx
inc eax
jmp 0x4df3e0
mov ecx, dword [esp + 8]
mov edx, ebx
add edx, ecx
jb 0x4e0eb9
cmp edx, dword [esp + 0x24]
ja 0x4e0ec0
test ebx, ebx
je 0x4df5ac
add ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x38], edx
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ebx
mov dword [esp + 8], ecx
lea ecx, [esi + eax]
lea eax, [esi + eax - 2]
mov dword [esp + 0xc], ecx
xor ecx, ecx
mov dword [esp + 0x30], eax
jmp 0x4df4d1
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x34]
inc ecx
cmp ebx, ecx
je 0x4df5a0
mov eax, dword [esp + 8]
movzx edx, byte [eax + ecx]
mov eax, dword [esp + 0xc]
lea ebx, [eax + ecx]
mov eax, dword [edi + 0x10054]
and ebx, 0x7fff
cmp ebx, 0x101
mov byte [eax + ebx + 0x20000], dl
jae 0x4df508
mov eax, dword [edi + 0x10054]
mov byte [eax + ebx + 0x28000], dl
mov eax, dword [edi + 0x10064]
lea edi, [esi + ecx]
lea eax, [eax + edi + 1]
cmp eax, 3
jb 0x4df4c0
movzx eax, dl
mov edx, dword [esp + 0x30]
mov esi, dword [esp + 0xc]
lea edi, [edx + ecx]
mov edx, dword [esp + 0x34]
lea esi, [esi + ecx - 1]
and esi, 0x7fff
mov dword [esp + 0x1c], edi
and edi, 0x7fff
mov ebx, dword [edx + 0x10054]
movzx esi, byte [ebx + esi + 0x20000]
shl esi, 5
xor esi, eax
movzx eax, byte [ebx + edi + 0x20000]
and eax, 0x1f
shl eax, 0xa
xor eax, esi
movzx esi, word [ebx + eax*2 + 0x10000]
mov word [ebx + edi*2], si
mov esi, dword [edx + 0x10054]
mov edx, dword [esp + 0x1c]
mov word [esi + eax*2 + 0x10000], dx
mov esi, dword [esp + 0x18]
jmp 0x4df4c0
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 0x18]
mov dword [esp + 8], eax
jmp 0x4df5b0
mov eax, dword [esp + 0x38]
add esi, ecx
mov dword [esp + 8], eax
jmp 0x4df5b0
mov dword [esp + 8], edx
mov eax, dword [edi + 0x10064]
mov ecx, 0x8000
sub ecx, esi
cmp ecx, eax
cmova ecx, eax
mov dword [edi + 0x10064], ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x28]
cmp byte [edi + 0x10046], 0
jne 0x4df5e5
cmp esi, 0x102
jb 0x4dfc7f
mov dword [esp + 0x18], esi
test ecx, ecx
mov esi, ecx
mov eax, 2
cmove esi, eax
mov eax, dword [esp + 0x14]
and eax, 0x7fff
mov dword [esp + 0xc], eax
mov eax, dword [edi + 0x10010]
test eax, 0x90000
mov dword [esp + 0xac], eax
je 0x4df6a0
cmp dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0
je 0x4df9e9
and eax, 0x80000
jne 0x4df9e9
mov eax, dword [esp + 0x18]
mov edx, eax
add edx, dword [esp + 0xc]
jb 0x4e0f1d
cmp edx, 0x8102
ja 0x4e0f30
test eax, eax
je 0x4df9d3
mov eax, dword [esp + 0x14]
mov ecx, dword [edi + 0x10054]
mov edx, dword [esp + 0xc]
xor esi, esi
dec eax
and eax, 0x7fff
mov al, byte [ecx + eax + 0x20000]
lea ecx, [ecx + edx + 0x20000]
cmp byte [ecx + esi], al
jne 0x4df9d5
inc esi
cmp dword [esp + 0x18], esi
jne 0x4df680
mov esi, dword [esp + 0x18]
jmp 0x4df9d5
mov eax, dword [esp + 0x18]
mov ecx, 0x102
mov edx, 1
mov dword [esp + 0x1c], 0
cmp eax, 0x102
cmovb ecx, eax
test esi, esi
cmove esi, edx
cmp ecx, esi
jbe 0x4df9e9
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xc]
xor edx, edx
cmp esi, 0x20
setae bl
lea eax, [esi + ecx]
lea ecx, [esi + ecx - 1]
cmp ecx, 0x8101
ja 0x4e0bc4
je 0x4e0c3a
mov dl, bl
mov edx, dword [edi + edx*4 + 0x1004c]
dec edx
je 0x4df9e9
mov ebx, dword [edi + 0x10054]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
movzx eax, word [ebx + ecx + 0x20000]
mov word [esp + 0x6e], ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], 0
movzx eax, word [ebx + eax + 0x1ffff]
mov word [esp + 0x3e], ax
mov eax, ebx
mov ebx, 0x8100
sub ebx, ecx
mov dword [esp + 0x30], eax
and ebx, 0xfffffff8
mov dword [esp + 0xa4], ebx
lea ebx, [eax + 0x20002]
mov dword [esp + 0xcc], ebx
lea ebx, [ecx - 7]
mov dword [esp + 0xc8], ebx
lea ebx, [eax + ecx]
mov dword [esp + 0xa8], ebx
mov ebx, 1
sub ebx, edx
mov dword [esp + 0x64], ebx
movzx ecx, word [eax + ecx*2]
test ecx, ecx
je 0x4df9e9
mov eax, dword [esp + 0x14]
sub eax, ecx
movzx eax, ax
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
ja 0x4df9e9
and ecx, 0x7fff
lea eax, [ecx + esi - 1]
lea edx, [ecx + esi]
cmp eax, 0x8101
ja 0x4e0bc2
je 0x4e0bd8
mov eax, dword [esp + 0x30]
movzx ebx, word [esp + 0x3e]
cmp word [eax + edx + 0x1ffff], bx
je 0x4df8a0
movzx ecx, word [eax + ecx*2]
test ecx, ecx
je 0x4df9e9
mov eax, dword [esp + 0x14]
sub eax, ecx
movzx eax, ax
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
ja 0x4df9e9
and ecx, 0x7fff
lea eax, [ecx + esi - 1]
lea edx, [ecx + esi]
cmp eax, 0x8101
ja 0x4e0bc2
je 0x4e0bd8
mov eax, dword [esp + 0x30]
movzx ebx, word [esp + 0x3e]
cmp word [eax + edx + 0x1ffff], bx
je 0x4df8a0
movzx ecx, word [eax + ecx*2]
test ecx, ecx
je 0x4df9e9
mov eax, dword [esp + 0x14]
sub eax, ecx
movzx eax, ax
cmp eax, dword [esp + 0x10]
mov dword [esp + 0x38], eax
ja 0x4df9e9
and ecx, 0x7fff
lea eax, [ecx + esi - 1]
lea edx, [ecx + esi]
cmp eax, 0x8101
ja 0x4e0bc2
je 0x4e0bd8
mov eax, dword [esp + 0x30]
movzx ebx, word [esp + 0x3e]
cmp word [eax + edx + 0x1ffff], bx
je 0x4df8a0
mov edx, dword [esp + 0x64]
inc edx
cmp edx, 1
mov dword [esp + 0x64], edx
jne 0x4df77e
jmp 0x4df9e9
cmp dword [esp + 0x38], 0
je 0x4df9e9
movzx edx, word [esp + 0x6e]
cmp word [eax + ecx + 0x20000], dx
jne 0x4df9bd
mov eax, 0x8100
sub eax, ecx
and eax, 0xfffffff8
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xcc]
add eax, ecx
mov dword [esp + 0xd0], eax
xor eax, eax
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x100
je 0x4dfc6f
cmp dword [esp + 0xa4], eax
je 0x4e0e7b
cmp dword [esp + 0x9c], eax
je 0x4e0e88
mov edx, dword [esp + 0xd0]
mov edi, dword [esp + 0xa8]
mov ebx, dword [edx + eax]
mov edx, dword [edx + eax + 4]
xor ebx, dword [edi + eax + 0x20002]
xor edx, dword [edi + eax + 0x20006]
add eax, 8
mov edi, ebx
or edi, edx
mov edi, dword [esp + 0x34]
je 0x4df8f0
bsf edx, edx
bsf edi, ebx
add edx, 0x20
test ebx, ebx
mov ebx, edx
cmovne ebx, edi
mov edi, dword [esp + 0x34]
shr ebx, 3
lea edx, [ebx + eax - 6]
cmp edx, esi
jbe 0x4df9bd
mov esi, dword [esp + 0x90]
cmp esi, edx
jbe 0x4dfc76
mov esi, edx
mov edx, dword [esp + 0xc8]
add edx, ebx
add edx, eax
cmp edx, 0x8101
ja 0x4e0d3e
mov edx, dword [esp + 0xc]
add edx, ebx
lea edx, [eax + edx - 0x8108]
test edx, edx
je 0x4e0d53
add ebx, dword [esp + 0xa8]
mov edx, dword [esp + 0x38]
movzx eax, word [eax + ebx + 0x1fff9]
mov dword [esp + 0x1c], edx
mov word [esp + 0x3e], ax
mov eax, dword [esp + 0x64]
mov edx, eax
neg edx
test eax, eax
mov eax, dword [esp + 0x30]
jne 0x4df773
jmp 0x4df9e9
xor esi, esi
xor eax, eax
cmp esi, 3
mov ecx, 0
setae al
cmovb esi, ecx
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + 0x1c]
cmp esi, 3
sete al
cmp ebx, 0x2000
setae cl
and cl, al
mov eax, dword [esp + 0xac]
shr eax, 0x11
cmp esi, 6
setb dl
and dl, al
cmp dword [esp + 0xc], ebx
sete al
or al, dl
or al, cl
mov ecx, dword [esp + 0x28]
mov eax, 0
cmovne ebx, eax
cmovne esi, eax
mov eax, ebx
test ecx, ecx
je 0x4dfaa0
mov ebx, eax
mov eax, dword [edi + 0x10048]
cmp esi, ecx
jbe 0x4dfaf0
inc dword [edi + 8]
mov edx, dword [edi]
cmp edx, 0x10000
jae 0x4e0c0e
mov cl, byte [esp + 0x23]
mov byte [edi + edx + 0x10], cl
inc dword [edi]
mov edx, dword [edi + 4]
cmp edx, 0x10000
jae 0x4e0c24
shr byte [edi + edx + 0x10], 1
dec dword [edi + 0xc]
je 0x4dfb95
movzx ecx, byte [esp + 0x23]
inc word [eax + ecx*2]
cmp esi, 0x80
jb 0x4dfbb9
mov ecx, dword [edi + 0x10048]
mov edx, edi
push ebx
jmp 0x4dfb73
mov ebx, dword [esp + 0xac]
test eax, eax
je 0x4dfb0a
cmp byte [edi + 0x10044], 0
jne 0x4dfb6a
and ebx, 0x10000
jne 0x4dfb6a
cmp esi, 0x80
jae 0x4dfb6a
mov edx, eax
mov eax, dword [edi + 0x10054]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], edx
jmp 0x4dfbc7
mov esi, ecx
mov ecx, eax
mov edx, edi
push dword [esp + 0x58]
push esi
call fcn.00533ed0
pxor xmm4, xmm4
add esp, 8
dec esi
jmp 0x4dfb80
mov ecx, dword [edi + 0x10054]
mov edx, dword [esp + 0xc]
mov eax, dword [edi + 0x10048]
mov dl, byte [ecx + edx + 0x20000]
inc dword [edi + 8]
mov ecx, dword [edi]
cmp ecx, 0x10000
jae 0x4e0c10
mov byte [edi + ecx + 0x10], dl
inc dword [edi]
mov ecx, dword [edi + 4]
cmp ecx, 0x10000
jae 0x4e0c26
shr byte [edi + ecx + 0x10], 1
dec dword [edi + 0xc]
jne 0x4dfb5f
mov dword [edi + 0xc], 8
mov ecx, dword [edi]
mov dword [edi + 4], ecx
inc ecx
mov dword [edi], ecx
movzx ecx, dl
inc word [eax + ecx*2]
xor ecx, ecx
jmp 0x4dfbd4
mov ecx, dword [edi + 0x10048]
mov edx, edi
push eax
push esi
call fcn.00533ed0
pxor xmm4, xmm4
add esp, 8
xor ecx, ecx
mov eax, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
sub esi, eax
jae 0x4dfbe9
jmp 0x4e0e62
mov dword [edi + 0xc], 8
mov ecx, dword [edi]
mov dword [edi + 4], ecx
inc ecx
mov dword [edi], ecx
movzx ecx, byte [esp + 0x23]
inc word [eax + ecx*2]
cmp esi, 0x80
jae 0x4dfa8c
mov eax, dword [edi + 0x10054]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x58], ebx
mov al, byte [eax + ecx + 0x20000]
mov ecx, esi
mov byte [esp + 0x23], al
mov eax, 1
mov esi, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
sub esi, eax
jb 0x4e0e62
mov ecx, dword [edi + 0x10064]
mov edx, 0x8000
add ecx, eax
cmp ecx, 0x8000
cmovae ecx, edx
mov dword [edi + 0x10064], ecx
mov edx, dword [edi + 8]
mov ecx, dword [edi]
cmp edx, 0x7c00
jbe 0x4dfc50
mov bl, byte [edi + 0x10012]
mov dword [esp + 0x18], esi
imul esi, ecx, 0x73
shr esi, 7
and bl, 8
shr bl, 3
cmp esi, edx
mov esi, dword [esp + 0x18]
setae dl
or dl, bl
add dword [esp + 0x14], eax
cmp ecx, 0xfff8
jbe 0x4dfc62
jmp 0x4df2e0
xor edx, edx
add dword [esp + 0x14], eax
cmp ecx, 0xfff8
ja 0x4df2e0
test dl, dl
je 0x4df325
jmp 0x4df2e0
mov esi, dword [esp + 0x90]
mov eax, dword [esp + 0x38]
jmp 0x4df9e5
mov eax, dword [esp + 8]
jmp 0x4dfc9f
mov eax, dword [esp + 0xc]
mov dword [edi + 0x10034], 0xffffffff
mov dword [edi + 0x1002c], eax
jmp 0x4dfd12
mov ecx, dword [esp + 0x28]
mov dword [edi + 0x1002c], eax
mov dword [edi + 0x1005c], esi
mov esi, dword [esp + 0x14]
mov bl, byte [esp + 0x23]
mov edx, dword [esp + 0x58]
mov dword [edi + 0x10060], esi
mov byte [edi + 0x10045], bl
mov dword [edi + 0x10018], edx
mov dword [edi + 0x1001c], ecx
jmp 0x4dfd67
mov cl, byte [esp + 0x23]
mov esi, dword [esp + 0x58]
mov edx, dword [esp + 0x28]
test eax, eax
mov byte [edi + 0x10045], cl
mov dword [edi + 0x10018], esi
mov dword [edi + 0x1001c], edx
jg 0x4dfd67
mov eax, dword [edi + 0x1002c]
jmp 0x4dfd26
mov eax, dword [esp + 0xc]
mov dword [edi + 0x1002c], eax
mov dword [edi + 0x10034], 0xffffffff
pxor xmm4, xmm4
jmp 0x4dfd26
mov eax, dword [esp + 0xc]
test edx, edx
mov dword [edi + 0x1002c], eax
jg 0x4dfd67
mov edx, dword [edi + 0x10034]
mov ecx, dword [edi + 0x10030]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x24]
mov ebx, edx
sub ebx, eax
jae 0x4dff26
jmp 0x4e038c
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
mov dword [edi + 0x1002c], eax
mov dword [edi + 0x1005c], ebx
mov dword [edi + 0x10060], ecx
cmp dword [esp + 0x2c], 0
je 0x4dfe0c
mov eax, dword [esp + 0x5c]
test byte [eax + 1], 0x30
mov eax, dword [esp + 0x24]
je 0x4dfe0e
mov ecx, dword [edi + 0x1002c]
cmp ecx, dword [esp + 0x24]
ja 0x4e0f9f
mov esi, dword [edi + 0x10028]
mov edi, ecx
mov dword [esp + 0x10], ecx
mov ecx, 0x5e6ea9af
movdqa xmmword [esp + 0xb0], xmm4
movdqa xmmword [esp + 0x70], xmm4
and edi, 0xfffffffc
mov eax, edi
mov dword [esp + 0x30], edi
mul ecx
shr edx, 0xd
movzx ebx, si
shr esi, 0x10
imul eax, edx, 0x56c0
mov edx, edi
mov dword [esp + 0xc], ebx
sub edx, eax
cmp eax, 0x56c0
mov dword [esp + 0x14], eax
jae 0x4dff80
mov eax, dword [esp + 0x2c]
pxor xmm0, xmm0
xor ecx, ecx
mov dword [esp + 8], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
jmp 0x4e0124
xor eax, eax
mov cl, byte [edi + 0x10046]
test cl, cl
je 0x4dfee7
cmp dword [edi + 0x1005c], 0
jne 0x4dfee7
cmp eax, dword [edi + 0x1002c]
jne 0x4dfee7
cmp dword [edi + 0x10024], 0
jne 0x4dfee7
movzx eax, cl
lea edx, [esp + 0xdc]
mov ecx, edi
push eax
call fcn.00534040
add esp, 4
test eax, eax
je 0x4dfe90
mov dword [edi + 0x10034], 0xffffffff
mov dword [esp + 8], 0xffffffff
pxor xmm4, xmm4
mov eax, dword [edi + 0x1002c]
mov ecx, dword [edi + 0x10030]
mov edx, dword [esp + 0x24]
mov ebx, edx
sub ebx, eax
jae 0x4dff26
jmp 0x4e038c
test edx, edx
js 0x4e0364
mov al, byte [edi + 0x10046]
cmp al, 4
sete byte [edi + 0x10047]
cmp al, 3
jne 0x4dfee7
mov eax, dword [edi + 0x10054]
mov ecx, 0x10000
add eax, ecx
push 0x10000
push 0
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
push 0x10000
push 0
push dword [edi + 0x10054]
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [edi + 0x10064], 0
lea ecx, [esp + 0x40]
lea edx, [esp + 0xdc]
push dword [esp + 0x5c]
call fcn.00533dd0
add esp, 4
mov eax, dword [esp + 0x40]
pxor xmm4, xmm4
mov dword [edi + 0x10034], eax
mov dword [esp + 8], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x24]
mov ebx, edx
sub ebx, eax
jb 0x4e038c
mov edx, dword [esp + 0xd8]
mov esi, edx
sub esi, ecx
jb 0x4e0e53
mov edx, dword [esp + 8]
lea edi, [edx + 2]
cmp edi, 2
mov edi, dword [esp + 0x34]
jb 0x4deaeb
add dword [esp + 0x68], ecx
cmp edx, 1
je 0x4deac0
mov edx, eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
add eax, edx
mov edx, dword [esp + 0xd4]
add edx, ecx
test esi, esi
mov ecx, edx
mov edx, dword [esp + 8]
jne 0x4deb70
jmp 0x4deac0
imul ecx, ebx, 0x56c0
mov edi, eax
mov dword [esp + 0x28], edx
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x2c]
nop word cs:[eax + eax]
nop
mov eax, 0xffffa940
nop word cs:[eax + eax]
nop
movd xmm0, dword [ecx + eax + 0x56c0]
add eax, 4
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
movdqu xmmword [esp + 0x40], xmm0
movd xmm2, dword [esp + 0x44]
movsd xmm1, qword [esp + 0x48]
punpcklqdq xmm2, xmm0
shufps xmm2, xmm1, 0x42
movdqa xmm1, xmmword [esp + 0x70]
paddd xmm2, xmmword [esp + 0xb0]
movdqa xmmword [esp + 0xb0], xmm2
movdqa xmm0, xmmword [esp + 0xb0]
movdqa xmmword [esp + 0x40], xmm0
paddd xmm1, xmmword [esp + 0x40]
movdqa xmmword [esp + 0x70], xmm1
jne 0x4dffb0
movdqa xmm0, xmmword [esp + 0xb0]
movdqa xmm5, xmmword [0x6069e0]
movdqa xmm6, xmmword [0x6069f0]
add esi, dword [esp + 8]
mov edx, 0x80078071
add edi, 0xffffa940
add ecx, 0x56c0
movdqa xmm1, xmm0
pshufd xmm2, xmm0, 0xf5
mov eax, esi
pmuludq xmm1, xmm5
pmuludq xmm2, xmm5
mul edx
pshufd xmm1, xmm1, 0xed
pshufd xmm2, xmm2, 0xed
shr edx, 0xf
punpckldq xmm1, xmm2
imul eax, edx, 0xfff1
psrld xmm1, 0xf
sub esi, eax
cmp edi, 0x56c0
pshufd xmm2, xmm1, 0xf5
pmuludq xmm1, xmm6
pmuludq xmm2, xmm6
pshufd xmm1, xmm1, 0xe8
pshufd xmm2, xmm2, 0xe8
punpckldq xmm1, xmm2
psubd xmm0, xmm1
movdqa xmm1, xmmword [esp + 0x70]
movdqa xmmword [esp + 0xb0], xmm0
movdqa xmm2, xmm1
pshufd xmm3, xmm1, 0xf5
pmuludq xmm2, xmm5
pmuludq xmm3, xmm5
pshufd xmm2, xmm2, 0xed
pshufd xmm3, xmm3, 0xed
punpckldq xmm2, xmm3
psrld xmm2, 0xf
pshufd xmm3, xmm2, 0xf5
pmuludq xmm2, xmm6
pmuludq xmm3, xmm6
pshufd xmm2, xmm2, 0xe8
pshufd xmm3, xmm3, 0xe8
punpckldq xmm2, xmm3
psubd xmm1, xmm2
movdqa xmmword [esp + 0x70], xmm1
jae 0x4dffa0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
pshufd xmm2, xmm1, 0x55
movd ecx, xmm1
movd dword [esp + 0x1c], xmm2
pshufd xmm2, xmm1, 0xee
pshufd xmm1, xmm1, 0xff
movd dword [esp + 0x18], xmm2
movd dword [esp + 8], xmm1
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
and dword [esp + 0x10], 3
test edx, 0x7ffc
je 0x4e01d6
add edi, eax
mov eax, edx
and eax, 0x7ffc
neg eax
nop dword [eax + eax]
movd xmm0, dword [edi]
add edi, 4
add eax, 4
punpcklbw xmm0, xmm4
punpcklwd xmm0, xmm4
movdqu xmmword [esp + 0x40], xmm0
movd xmm2, dword [esp + 0x44]
movsd xmm1, qword [esp + 0x48]
punpcklqdq xmm2, xmm0
shufps xmm2, xmm1, 0x42
movdqa xmm1, xmmword [esp + 0x70]
paddd xmm2, xmmword [esp + 0xb0]
movdqa xmmword [esp + 0xb0], xmm2
movdqa xmm0, xmmword [esp + 0xb0]
movdqa xmmword [esp + 0x40], xmm0
paddd xmm1, xmmword [esp + 0x40]
movdqa xmmword [esp + 0x70], xmm1
jne 0x4e0150
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
movdqa xmm0, xmmword [esp + 0xb0]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], edi
mov dword [esp + 0x18], eax
imul edx, ebx
mov eax, ecx
mov ebx, 0x80078071
mov edi, dword [esp + 0x18]
movdqa xmm3, xmmword [0x6069e0]
movdqa xmm1, xmm0
pshufd xmm2, xmm0, 0xf5
add esi, edx
mul ebx
shr edx, 0xf
imul eax, edx, 0xfff1
sub ecx, eax
pmuludq xmm1, xmm3
pmuludq xmm2, xmm3
movdqa xmm3, xmmword [0x6069f0]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
pshufd xmm1, xmm1, 0xed
pshufd xmm2, xmm2, 0xed
punpckldq xmm1, xmm2
psrld xmm1, 0xf
pshufd xmm2, xmm1, 0xf5
pmuludq xmm1, xmm3
mov eax, ecx
pmuludq xmm2, xmm3
pshufd xmm1, xmm1, 0xe8
mul ebx
pshufd xmm2, xmm2, 0xe8
shr edx, 0xf
punpckldq xmm1, xmm2
imul eax, edx, 0xfff1
psubd xmm0, xmm1
sub ecx, eax
mov eax, edi
pshufd xmm1, xmm0, 0x55
movdqa xmmword [esp + 0xb0], xmm0
mul ebx
shr edx, 0xf
imul eax, edx, 0xfff1
mov edx, 0x80078071
sub edi, eax
mov ebx, edi
mov edi, dword [esp + 8]
mov eax, edi
mul edx
shr edx, 0xf
imul eax, edx, 0xfff1
mov edx, 0x80078071
sub edi, eax
mov eax, esi
mul edx
shr edx, 0xf
imul eax, edx, 0xfff1
sub esi, eax
movd eax, xmm1
pshufd xmm1, xmm0, 0xee
sub esi, eax
movd edx, xmm1
pshufd xmm1, xmm0, 0xff
add eax, dword [esp + 0xc]
lea ecx, [esi + ecx*4]
sub ecx, edx
sub ecx, edx
mov esi, 0xfff1
lea ecx, [ecx + ebx*4]
lea ecx, [ecx + edi*4]
movd edi, xmm1
add eax, edx
sub esi, edi
add eax, edi
movd edi, xmm0
lea esi, [esi + esi*2]
add edi, eax
add ecx, esi
mov esi, dword [esp + 0x14]
lea esi, [ecx + esi*4 + 0x2ffd3]
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x4e031b
mov edx, dword [esp + 0x30]
add edx, dword [esp + 0x2c]
nop word cs:[eax + eax]
nop dword [eax]
movzx eax, byte [edx]
inc edx
add edi, eax
add esi, edi
dec ecx
jne 0x4e0310
mov eax, edi
mov ecx, 0x80078071
mul ecx
shr edx, 0xf
imul eax, edx, 0xfff1
sub edi, eax
mov eax, esi
mul ecx
shr edx, 0xf
imul eax, edx, 0xfff1
sub esi, eax
mov eax, dword [esp + 0x24]
shl esi, 0x10
or esi, edi
mov edi, dword [esp + 0x34]
mov dword [edi + 0x10028], esi
mov cl, byte [edi + 0x10046]
test cl, cl
jne 0x4dfe1c
jmp 0x4dfee7
mov eax, dword [edi + 0x10034]
mov ecx, dword [edi + 0x10030]
pxor xmm4, xmm4
mov dword [esp + 8], eax
mov eax, dword [edi + 0x1002c]
mov edx, dword [esp + 0x24]
mov ebx, edx
sub ebx, eax
jae 0x4dff26
mov ecx, eax
push 0x686ab4
call fcn.0045a820
add esp, 4
ud2
mov esi, dword [esp + 0xe8]
mov ecx, 0xaaaaaaab
mov ebx, dword [esp + 0xe0]
mov eax, esi
mov dword [esp + 0x18], ebx
mul ecx
mov eax, edx
mov edx, 4
shr eax, 1
lea ecx, [eax + eax*2]
mul edx
mov edx, esi
mov edi, eax
seto al
sub edx, ecx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xe4]
mov dword [esp + 0x28], edx
je 0x4e0423
add edi, 4
setb cl
or al, cl
jne 0x4e0427
test edi, edi
js 0x4e0f46
xor ebx, ebx
test edi, edi
je 0x4e0440
mov eax, dword [0x6f1130]
test eax, eax
jne 0x4e040f
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x4e041c
mov dword [0x6f1130], eax
push edi
push 8
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x4e0447
mov ecx, edi
jmp 0x4e0ef9
test al, al
je 0x4e03ea
mov ecx, str.integer_overflow_when_calculating_buffer_size
mov edx, 0x2d
push 0x682470
call fcn.004cce80
add esp, 4
ud2
mov eax, 1
xor edi, edi
mov ecx, esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x10], edi
sub ecx, 0x1a
cmovb ecx, ebx
cmp esi, 0x1b
mov dword [esp + 0xc], ecx
mov ecx, 0
jb 0x4e0740
xor ebx, ebx
mov ecx, 0x20
lea edx, [ebx + 0x1a]
cmp edx, esi
ja 0x4e0dd4
mov edx, dword [esp + 0x10]
test ecx, ecx
je 0x4e0de7
cmp ecx, edx
ja 0x4e0df8
mov esi, dword [esp + 0x18]
mov dword [esp + 8], ebx
mov edx, dword [esi + ebx]
mov edi, dword [esi + ebx + 4]
bswap edx
bswap edi
mov ebx, edx
shr ebx, 0x1a
movzx ebx, byte [ebx + 0x6086b8]
mov byte [eax + ecx - 0x20], bl
mov ebx, edx
shr ebx, 0x14
and ebx, 0x3f
movzx ebx, byte [ebx + 0x6086b8]
mov byte [eax + ecx - 0x1f], bl
mov ebx, edx
shr ebx, 0xe
and ebx, 0x3f
movzx ebx, byte [ebx + 0x6086b8]
mov byte [eax + ecx - 0x1e], bl
mov ebx, edx
shr ebx, 8
and ebx, 0x3f
movzx ebx, byte [ebx + 0x6086b8]
mov byte [eax + ecx - 0x1d], bl
mov ebx, edx
shld edx, edi, 4
shr ebx, 2
and edx, 0x3f
and ebx, 0x3f
movzx edx, byte [edx + 0x6086b8]
movzx ebx, byte [ebx + 0x6086b8]
mov byte [eax + ecx - 0x1c], bl
mov byte [eax + ecx - 0x1b], dl
mov edx, edi
shr edi, 0x10
shr edx, 0x16
and edi, 0x3f
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0x1a], dl
movzx edx, byte [edi + 0x6086b8]
mov byte [eax + ecx - 0x19], dl
mov edx, dword [esp + 8]
mov ebx, dword [esi + edx + 6]
mov edx, dword [esp + 8]
bswap ebx
mov edi, dword [esi + edx + 0xa]
mov edx, ebx
shr edx, 0x1a
movzx edx, byte [edx + 0x6086b8]
bswap edi
mov byte [eax + ecx - 0x18], dl
mov edx, ebx
shr edx, 0x14
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0x17], dl
mov edx, ebx
shr edx, 0xe
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0x16], dl
mov edx, ebx
shr edx, 8
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0x15], dl
mov edx, ebx
shld ebx, edi, 4
shr edx, 2
and ebx, 0x3f
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0x14], dl
movzx edx, byte [ebx + 0x6086b8]
mov byte [eax + ecx - 0x13], dl
mov edx, edi
shr edi, 0x10
shr edx, 0x16
and edi, 0x3f
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0x12], dl
movzx edx, byte [edi + 0x6086b8]
mov byte [eax + ecx - 0x11], dl
mov edx, dword [esp + 8]
mov ebx, dword [esi + edx + 0xc]
mov edx, dword [esp + 8]
bswap ebx
mov edi, dword [esi + edx + 0x10]
mov edx, ebx
shr edx, 0x1a
movzx edx, byte [edx + 0x6086b8]
bswap edi
mov byte [eax + ecx - 0x10], dl
mov edx, ebx
shr edx, 0x14
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0xf], dl
mov edx, ebx
shr edx, 0xe
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0xe], dl
mov edx, ebx
shr edx, 8
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0xd], dl
mov edx, ebx
shld ebx, edi, 4
shr edx, 2
and ebx, 0x3f
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0xc], dl
movzx edx, byte [ebx + 0x6086b8]
mov byte [eax + ecx - 0xb], dl
mov edx, edi
shr edi, 0x10
shr edx, 0x16
and edi, 0x3f
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 0xa], dl
movzx edx, byte [edi + 0x6086b8]
mov byte [eax + ecx - 9], dl
mov edx, dword [esp + 8]
mov ebx, dword [esi + edx + 0x12]
mov edx, dword [esp + 8]
bswap ebx
mov esi, dword [esi + edx + 0x16]
mov edx, ebx
shr edx, 0x1a
movzx edx, byte [edx + 0x6086b8]
bswap esi
mov byte [eax + ecx - 8], dl
mov edx, ebx
shr edx, 0x14
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 7], dl
mov edx, ebx
shr edx, 0xe
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 6], dl
mov edx, ebx
shr edx, 8
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 5], dl
mov edx, ebx
shld ebx, esi, 4
shr edx, 2
and ebx, 0x3f
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov byte [eax + ecx - 4], dl
movzx edx, byte [ebx + 0x6086b8]
mov ebx, dword [esp + 8]
mov byte [eax + ecx - 3], dl
mov edx, esi
shr esi, 0x10
add ebx, 0x18
shr edx, 0x16
and esi, 0x3f
and edx, 0x3f
movzx edx, byte [edx + 0x6086b8]
mov dh, byte [esi + 0x6086b8]
mov esi, dword [esp + 0x24]
mov byte [eax + ecx - 2], dl
mov byte [eax + ecx - 1], dh
add ecx, 0x20
cmp ebx, dword [esp + 0xc]
jbe 0x4e0470
add ecx, 0xffffffe0
mov edx, esi
mov dword [esp + 0x2c], eax
sub edx, dword [esp + 0x30]
cmp ebx, edx
mov edi, edx
mov dword [esp + 0x14], edx
jae 0x4e08c7
nop dword [eax + eax]
cmp ebx, 0xfffffffc
ja 0x4e0e0b
lea eax, [ebx + 3]
cmp eax, esi
ja 0x4e0e1a
cmp ecx, 0xfffffffb
ja 0x4e0e30
lea edx, [ecx + 4]
mov dword [esp + 0x1c], eax
cmp edx, dword [esp + 0x10]
mov dword [esp + 0xc], edx
ja 0x4e0e3d
mov edi, dword [esp + 0x18]
mov dword [esp + 8], ebx
mov esi, dword [esp + 0x2c]
movzx eax, byte [edi + ebx]
mov ebx, eax
shl al, 4
shr ebx, 2
movzx ebx, byte [ebx + 0x6086b8]
mov byte [esi + ecx], bl
mov ebx, dword [esp + 8]
movzx edx, byte [edi + ebx + 1]
mov dh, dl
shl dl, 2
shr dh, 4
or dh, al
movzx eax, dh
and eax, 0x3f
movzx eax, byte [eax + 0x6086b8]
mov byte [esi + ecx + 1], al
movzx ebx, byte [edi + ebx + 2]
mov edi, dword [esp + 0xc]
mov eax, ebx
and ebx, 0x3f
shr al, 6
or al, dl
movzx edx, byte [ebx + 0x6086b8]
mov ebx, dword [esp + 0x1c]
movzx eax, al
and eax, 0x3f
movzx eax, byte [eax + 0x6086b8]
cmp ebx, dword [esp + 0x14]
mov byte [esi + ecx + 2], al
mov byte [esi + ecx + 3], dl
mov esi, dword [esp + 0x24]
mov ecx, edi
jb 0x4e0760
mov ecx, dword [esp + 0x30]
cmp ecx, 1
je 0x4e08d6
mov edx, dword [esp + 0x10]
cmp ecx, 2
jne 0x4e093d
cmp dword [esp + 0x14], esi
jae 0x4e0c7c
cmp edi, edx
jae 0x4e0ca6
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
movzx edx, byte [eax + ebx]
inc ebx
mov dword [esp + 0x14], ebx
mov eax, edx
shr eax, 2
cmp ebx, esi
mov al, byte [eax + 0x6086b8]
mov byte [ecx + edi], al
jae 0x4e0ccc
mov ebx, dword [esp + 0x10]
lea ecx, [edi + 1]
cmp ecx, ebx
jae 0x4e0cf0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
shl dl, 4
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xc], edi
mov al, byte [eax + ecx]
mov ecx, eax
shr cl, 4
or dl, cl
movzx ecx, dl
mov edx, ebx
and ecx, 0x3f
mov cl, byte [ecx + 0x6086b8]
mov byte [esi + edi + 1], cl
lea ecx, [edi + 2]
cmp ecx, ebx
jae 0x4e0d01
shl al, 2
mov esi, 3
and al, 0x3c
jmp 0x4e0923
mov edi, ecx
mov ecx, dword [esp + 0x30]
cmp ecx, 1
jne 0x4e0828
cmp dword [esp + 0x14], esi
mov edx, dword [esp + 0x10]
jae 0x4e0c91
cmp edi, edx
jae 0x4e0cbb
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0xc], edi
movzx eax, byte [eax + ecx]
mov ecx, eax
shr ecx, 2
mov cl, byte [ecx + 0x6086b8]
mov byte [esi + edi], cl
lea ecx, [edi + 1]
cmp ecx, edx
jae 0x4e0ce1
shl al, 4
mov esi, 2
and al, 0x30
movzx eax, al
mov edi, dword [esp + 0x2c]
mov al, byte [eax + 0x6086b8]
mov byte [edi + ecx], al
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
add edi, esi
sub edx, edi
mov dword [esp + 0xc], edi
mov dword [esp + 8], edx
jb 0x4e0f4d
mov esi, ecx
mov ebx, 0xaaaaaaab
mov edi, ecx
xor esi, 3
mov eax, esi
mov ecx, esi
mul ebx
shr edx, 1
lea eax, [edx + edx*2]
sub ecx, eax
je 0x4e0ae5
mov eax, esi
add edi, esi
mul ebx
mov eax, esi
shr edx, 1
lea edx, [edx + edx*2]
sub eax, edx
sub eax, edi
mov edi, dword [esp + 8]
add eax, 2
cmp eax, edi
cmovae eax, edi
xor ebx, ebx
inc eax
cmp eax, 0x21
jb 0x4e09d3
mov edx, eax
mov edi, 0x20
mov ebx, dword [esp + 0xc]
movdqa xmm0, xmmword [0x606a00]
and edx, 0x1f
cmovne edi, edx
mov edx, dword [esp + 0x2c]
sub eax, edi
lea edx, [ebx + edx + 0x10]
mov ebx, eax
nop word cs:[eax + eax]
movdqu xmmword [edx - 0x10], xmm0
movdqu xmmword [edx], xmm0
add edx, 0x20
add ebx, 0xffffffe0
jne 0x4e09c0
mov ebx, eax
mov eax, esi
mov edx, 0xaaaaaaab
mov edi, dword [esp + 0xc]
sub esi, ebx
mul edx
shr edx, 1
lea eax, [edx + edx*2]
sub esi, eax
mov eax, dword [esp + 0x10]
lea edx, [edi + ebx]
add edx, dword [esp + 0x2c]
sub eax, ebx
sub eax, edi
nop dword [eax + eax]
sub eax, 1
jb 0x4e0bf1
mov byte [edx], 0x3d
inc edx
dec esi
jne 0x4e0a00
add edi, ecx
jb 0x4e0af3
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
lea esi, [esp + 0x40]
mov ecx, esi
mov edx, edi
push ebx
call fcn.0045f760
add esp, 4
cmp dword [esp + 0x40], 1
je 0x4e0f64
mov eax, dword [esp + 0x94]
cmp dword [esp + 0x28], 0
mov dword [eax], edi
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
je 0x4e0a63
push dword [esp + 0x18]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
mov esi, dword [esp + 0x34]
push dword [esi + 0x10040]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push dword [esi + 0x10048]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push dword [esi + 0x10054]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push esi
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
push dword [esp + 0x60]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x98], 0
je 0x4e0add
push dword [esp + 0xa0]
push 0
push dword [0x6f1130]
call sub.KERNEL32.dll_HeapFree
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [esp + 0xc]
xor ecx, ecx
add edi, ecx
jae 0x4e0a18
mov ecx, str.usize_overflow_when_calculating_b64_length
mov edx, 0x2a
push 0x608834
call fcn.0045d290
add esp, 4
ud2
lea ecx, [esp + 0xdc]
push 1
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0xe4]
jmp 0x4de6ec
lea ecx, [esp + 0xdc]
push 1
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0xe4]
jmp 0x4de727
lea ecx, [esp + 0xdc]
push 1
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0xe4]
jmp 0x4de764
lea ecx, [esp + 0xdc]
push 1
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0xe4]
jmp 0x4de7a0
lea ecx, [esp + 0xdc]
push 1
call fcn.005f2340
add esp, 4
mov edx, dword [esp + 0xe4]
jmp 0x4de7dd
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0xdc]
push 1
call fcn.005f2340
add esp, 4
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
jmp 0x4de81f
mov ecx, eax
mov edx, 0x8102
push 0x685c58
call fcn.0045a150
add esp, 4
ud2
mov ecx, 0x8102
mov edx, 0x8102
push 0x685c68
call fcn.0045a150
add esp, 4
ud2
mov ecx, dword [esp + 8]
mov edx, ecx
push 0x608904
call fcn.0045a150
add esp, 4
ud2
mov ecx, eax
jmp 0x4e0c10
mov ecx, eax
jmp 0x4e0c26
mov ecx, edx
mov edx, 0x10000
push 0x685f58
call fcn.0045a150
add esp, 4
ud2
mov ecx, edx
mov edx, 0x10000
push 0x685f68
call fcn.0045a150
add esp, 4
ud2
mov ecx, eax
jmp 0x4e0bdd
mov edx, 0x100
push 0x686a0c
call fcn.0045a150
add esp, 4
ud2
mov edx, 0x120
push 0x686a1c
call fcn.0045a150
add esp, 4
ud2
mov ecx, eax
mov edx, pe_nt_image_headers32
push 0x6869fc
call fcn.0045a150
add esp, 4
ud2
mov ecx, dword [esp + 0x14]
mov edx, esi
push 0x6088b4
call fcn.0045a150
add esp, 4
ud2
mov ecx, dword [esp + 0x14]
mov edx, esi
push 0x608884
call fcn.0045a150
add esp, 4
ud2
mov edx, dword [esp + 0x10]
mov ecx, edi
push 0x6088c4
call fcn.0045a150
add esp, 4
ud2
mov ecx, edi
push 0x608894
call fcn.0045a150
add esp, 4
ud2
mov ecx, dword [esp + 0x14]
mov edx, esi
push 0x6088d4
call fcn.0045a150
add esp, 4
ud2
push 0x6088a4
call fcn.0045a150
add esp, 4
ud2
mov edx, ebx
push 0x6088e4
call fcn.0045a150
add esp, 4
ud2
push 0x6088f4
call fcn.0045a150
add esp, 4
ud2
push 0x685f48
jmp 0x4e0f26
mov ecx, edx
jmp 0x4e0d2a
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 8]
lea ecx, [ecx + eax + 0xb]
mov edx, 0x8102
push 0x685f48
call fcn.0045ab50
add esp, 4
ud2
mov ecx, dword [esp + 0x14]
and ecx, 0x7fff
add ecx, ebx
lea ecx, [eax + ecx - 7]
jmp 0x4e0bc4
mov ecx, dword [esp + 0x14]
and ecx, 0x7fff
add ecx, ebx
lea ecx, [eax + ecx - 6]
jmp 0x4e0bdd
mov edx, 0x8102
push 0x6869bc
call fcn.0045ab50
add esp, 4
ud2
mov ecx, dword [esp + 8]
push 0x6869cc
jmp 0x4e0f26
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
push 0x6869cc
call fcn.0045ab50
add esp, 4
ud2
mov edx, 0x8102
push 0x6869dc
call fcn.0045ab50
add esp, 4
ud2
push 0x6869ec
jmp 0x4e0f26
mov ecx, edx
mov edx, dword [esp + 0x24]
push 0x6869ec
call fcn.0045ab50
add esp, 4
ud2
mov ecx, edx
mov edx, esi
push 0x608844
call fcn.0045ab50
add esp, 4
ud2
mov ecx, 0xffffffe0
xor edx, edx
push 0x608854
jmp 0x4e0f26
mov edx, dword [esp + 0x10]
push 0x608854
call fcn.0045ab50
add esp, 4
ud2
lea edx, [ebx + 3]
mov ecx, ebx
push 0x608864
jmp 0x4e0f26
add ebx, 3
mov edx, esi
mov ecx, ebx
push 0x608864
call fcn.0045ab50
add esp, 4
ud2
lea edx, [ecx + 4]
push 0x608874
jmp 0x4e0f26
mov edx, dword [esp + 0x10]
add ecx, 4
push 0x608874
call fcn.0045ab50
add esp, 4
ud2
push 0x686ac4
call fcn.0045a820
add esp, 4
ud2
mov ecx, str.assertion_failed:_lookahead_size___len_to_move
mov edx, 0x2f
push 0x6869ac
call fcn.0045aec0
add esp, 4
ud2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xa4]
jmp 0x4e0e8f
mov eax, dword [esp + 0x9c]
lea ecx, [ecx + eax + 0xa]
jmp 0x4e0d2a
push 0x68694c
jmp 0x4e0f26
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x24]
push 0x68694c
call fcn.0045ab50
add esp, 4
ud2
push 0x68695c
jmp 0x4e0f26
mov ecx, edx
mov edx, dword [esp + 0x24]
push 0x68695c
call fcn.0045ab50
add esp, 4
ud2
mov ecx, pe_nt_image_headers32
jmp 0x4e0ef9
mov ecx, 0x400
jmp 0x4e0ef9
mov ecx, 0x10068
mov edx, 4
call fcn.0040a640
ud2
mov ecx, 0x14ccc
mov edx, 1
call fcn.0040a640
ud2
mov ecx, 0x10e0
jmp 0x4e0f11
mov ecx, 0x28102
mov edx, 2
call fcn.0040a640
ud2
mov ecx, dword [esp + 0xc]
push 0x68696c
call fcn.0045ce70
add esp, 4
ud2
mov ecx, edx
mov edx, 0x8102
push 0x68696c
call fcn.0045ab50
add esp, 4
ud2
call fcn.0040a620
ud2
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
push 0x6087f8
call fcn.0045a820
add esp, 4
ud2
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
mov edx, 0xc
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
mov ecx, 0x682423
push 0x682430
push 0x682398
push esi
call fcn.0045d480
add esp, 0xc
ud2
mov edx, dword [esp + 0x24]
push 0x686a4c
call fcn.0045ab50
add esp, 4
ud2