Function at 0x4d1ba0
Capabilities:
Encode data using base64

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3c
mov edi, dword [ecx]
mov eax, dword [ecx + 4]
mov ebp, eax
sub ebp, edi
cmp ebp, 2
jae 0x4d1bbf
xor eax, eax
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
movzx edx, word [edi]
cmp edx, 0x7367
setne al
xor esi, esi
cmp dx, 0x7367
je 0x4d1be0
xor ecx, ecx
jmp 0x4d1bf6
add edi, 2
mov ecx, dword [esp + 0x14]
mov dword [ecx], edi
mov ebp, dword [esp + 0x18]
sub ebp, edi
mov cl, 1
cmp ebp, 2
jb case.0x4d1db0.10
xor edx, edx
mov dl, al
mov dword [esp + 0x10], edx
mov dword [esp + 8], edi
movzx eax, byte [edi]
mov edi, 0x3d
jmp 0x4d1c17
inc edx
mov esi, edx
cmp edi, esi
je 0x4d1c44
lea edx, [esi + edi]
shr edx, 1
lea ebx, [edx*4]
cmp al, byte [ebx + ebx*2 + 0x4efe30]
jg 0x4d1c10
jne 0x4d1c3e
mov ah, byte [ebx + ebx*2 + 0x4efe31]
mov ebx, dword [esp + 8]
cmp byte [ebx + 1], ah
jg 0x4d1c10
mov edi, edx
cmp edi, esi
jne 0x4d1c17
mov dword [esp + 0x24], ecx
lea edx, [esi + esi*2]
cmp al, byte [edx*4 + 0x4efe30]
mov edi, dword [esp + 8]
jne 0x4d1ceb
lea ecx, [edx*4 + 0x4efe30]
movzx eax, byte [edi + 1]
cmp al, byte [ecx + 1]
jne 0x4d1ceb
lea ebx, [edi + 2]
mov esi, dword [esp + 0x14]
mov dword [esi], ebx
movzx ebp, byte [ecx + 2]
mov dword [esp + 0x10], ecx
mov edi, dword [ecx + 8]
push edi
call sub.msvcrt.dll_strlen
add esp, 4
mov dword [esp + 0x28], ebp
cmp ebp, 0xa
ja 0x4d1d9c
cmp eax, 8
jb 0x4d2c2a
mov ecx, 0x7265706f
xor ecx, dword [edi]
mov edx, 0x726f7461
xor edx, dword [edi + 4]
or edx, ecx
jne 0x4d2c2a
lea ebp, [edi + 8]
mov edx, eax
add edx, 0xfffffff8
je 0x4d1e9c
cmp byte [ebp], 0x20
mov ecx, dword [esp + 0x10]
jne case.default.0x4d1ce4
add edi, 9
add eax, 0xfffffff7
mov ebp, edi
mov edx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x4f2e5c]
movzx edx, byte [edi]
cmp edx, 0x66
mov esi, dword [esp + 0x14]
je 0x4d1d30
cmp edx, 0x54
je 0x4d1d22
cmp edx, 0x4c
jne 0x4d1d46
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d3260
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x4f2e5c]
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.004d0bf0
movzx eax, byte [edi + 1]
cmp al, 0x70
jne 0x4d1db7
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d3d20
cmp word [edi], 0x6c69
je 0x4d1dde
cmp word [edi], 0x636d
mov eax, dword [esp + 0x18]
je 0x4d1f61
cmp word [edi], 0x786e
je 0x4d205c
cmp eax, edi
sete al
cmp dl, 0x72
setne cl
or cl, al
jne 0x4d1f74
movzx eax, byte [edi + 1]
or eax, 0x20
cmp eax, 0x71
jne 0x4d1f74
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d4770
mov ebp, edi
mov edx, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x4f2e5c]
cmp ebp, 2
je 0x4d1dd0
cmp al, 0x4c
jne 0x4d1dd0
movsx eax, byte [edi + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x4d1d38
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d4010
add edi, 2
mov dword [esi], edi
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x10], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
jmp 0x4d1e32
push eax
push ebx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x4d2c25
lea ebp, [eax + edi]
sar edi, 1
mov dword [esi + 0xc], ebp
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp edi, eax
je 0x4d1e3f
cmp byte [edi], 0x45
je 0x4d2091
mov ecx, esi
call fcn.004d4280
test eax, eax
je case.0x4d1db0.10
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x4d1e24
mov dword [esp + 8], eax
mov ebx, dword [esi + 8]
mov edi, ebp
sub edi, ebx
lea eax, [edi + edi]
cmp ebx, dword [esp + 0x24]
jne 0x4d1dfd
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c43
cmp ebp, dword [esp + 0x24]
je 0x4d1e94
push edi
push ebx
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x4d1e12
xor edx, edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x4f2e5c]
mov dword [esp + 8], edx
xor ebx, ebx
mov edi, dword [ecx + 4]
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je 0x4d270b
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x4d1f14
mov esi, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c61
mov dword [eax], ebx
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov ebx, eax
mov eax, esi
lea edx, [ecx + 0x20]
mov dword [ebx + 4], edx
mov byte [ebx + ecx + 0xc], 0x42
mov edx, dword [ebx + ecx + 0x10]
and edi, 0x3f
and edx, 0xffffffc0
or edx, edi
mov dword [ebx + ecx + 0x10], edx
movzx edx, byte [ebx + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebx + ecx + 0x14], dl
mov dword [ebx + ecx + 8], 0x4f01bc
mov edx, dword [esp + 8]
mov dword [ebx + ecx + 0x1c], edx
mov dword [ebx + ecx + 0x18], ebp
mov dword [ebx + ecx + 0x20], eax
lea eax, [ebx + ecx]
add eax, 8
jmp 0x4d1bb7
add edi, 2
mov dword [esi], edi
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d4580
cmp word [edi], 0x6f73
je 0x4d2643
cmp word [edi], 0x7073
je 0x4d2779
cmp word [edi], 0x5a73
je 0x4d282e
cmp word [edi], 0x5073
mov eax, dword [esp + 0x18]
je 0x4d2875
cmp word [edi], 0x6c74
je 0x4d28bf
cmp word [edi], 0x7274
je 0x4d2946
cmp word [edi], 0x7774
je 0x4d2a3d
cmp eax, edi
sete al
cmp dl, 0x75
setne cl
or cl, al
jne 0x4d2a62
inc edi
mov dword [esi], edi
mov ecx, esi
call fcn.004d0150
mov dword [esp + 0x30], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, dword [eax]
mov edi, dword [ecx + 0x18]
mov ecx, edi
mov ebx, eax
call dword [0x4f3688]
mov ecx, ebx
call edi
cmp edx, 8
jne 0x4d201d
mov ecx, 0x75755f5f
xor ecx, dword [eax]
mov edx, 0x666f6469
xor edx, dword [eax + 4]
or edx, ecx
je 0x4d2bc9
lea ebx, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
mov ebp, esp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4d2038
cmp byte [eax], 0x45
je 0x4d2b8c
mov ecx, esi
call fcn.004cedc0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, ebx
mov edx, ebp
call fcn.004cf090
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x4d202f
jmp 0x4d2038
add edi, 2
mov dword [esi], edi
mov ecx, esi
call fcn.004d1ba0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov dword [esp + 0x30], 2
lea eax, [esp + 0x30]
mov edx, esp
mov ecx, esi
push eax
call fcn.004d46c0
add esp, 4
jmp 0x4d1bb7
inc edi
mov dword [esi], edi
mov ecx, esi
mov edx, dword [esp + 0x10]
call fcn.004cf1b0
mov dword [esp + 4], edx
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.004d44f0
jmp 0x4d1bb7
mov ecx, esi
call fcn.004cd2e0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x4d1db0.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
lea esi, [esp + 0x1c]
mov edi, esp
lea edx, [esp + 0x30]
push eax
push esi
push edi
call fcn.004d31a0
jmp 0x4d222b
mov ecx, esi
call fcn.004d1ba0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x4d1db0.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
lea esi, [esp + 0x1c]
lea edi, [esp + 0x30]
mov edx, esp
push eax
push esi
push edi
call fcn.004d2df0
jmp 0x4d222b
mov dword [esp + 8], edx
xor ebx, ebx
test byte [ecx + 3], 1
je 0x4d2656
mov ecx, esi
call fcn.004cd2e0
jmp 0x4d265d
mov ecx, esi
call fcn.004d1ba0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0xc], eax
test eax, eax
je case.0x4d1db0.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
mov ecx, esi
lea esi, [esp + 0xc]
lea edi, [esp + 0x1c]
mov edx, esp
push eax
push esi
push edi
call fcn.004d30f0
jmp 0x4d222b
mov eax, dword [ecx + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 0x1c], eax
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0xc], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0x2c], eax
test eax, eax
je case.0x4d1db0.10
lea eax, [esp + 0x1c]
mov ecx, esi
lea esi, [esp + 0x2c]
mov edi, esp
lea edx, [esp + 0xc]
push eax
push esi
push edi
call fcn.004d5850
add esp, 0xc
jmp 0x4d1bb7
mov ecx, esi
call fcn.004d1ba0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x4d1db0.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
lea esi, [esp + 0x1c]
mov edx, esp
push eax
push esi
call fcn.004d2d40
jmp 0x4d2b03
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0x1c], eax
xor ebx, ebx
test eax, eax
je 0x4d270b
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x24], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x18], eax
jmp 0x4d22db
push eax
push ebp
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x4d2c4d
lea ebx, [eax + edi]
sar edi, 1
mov dword [esi + 0xc], ebx
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
mov dword [ebx], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4d22eb
cmp byte [eax], 0x45
je 0x4d27f0
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je case.0x4d1db0.10
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x4d22d3
mov dword [esp + 8], eax
mov ebp, dword [esi + 8]
mov edi, ebx
sub edi, ebp
lea eax, [edi + edi]
cmp ebp, dword [esp + 0x18]
jne 0x4d22ac
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c57
cmp ebx, dword [esp + 0x18]
je 0x4d2340
push edi
push ebp
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x4d22c1
cmp ebx, dword [esp + 0x18]
je 0x4d2608
cmp byte [ebx], 0x5f
jne 0x4d2608
mov eax, dword [esp + 8]
add eax, 3
mov dword [esi], eax
mov eax, dword [ecx + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 0x1c], eax
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0xc], eax
test eax, eax
je case.0x4d1db0.10
lea eax, [esp + 0x1c]
mov ecx, esi
lea esi, [esp + 0xc]
mov edx, esp
push eax
push esi
call fcn.004d5c70
jmp 0x4d2b03
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x38], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
jmp 0x4d23f1
push eax
push edi
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x4d2c48
lea ebx, [eax + ebp]
sar ebp, 1
mov dword [esi + 0xc], ebx
lea eax, [eax + ebp*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
mov dword [ebx], eax
mov ebx, dword [esi]
mov eax, dword [esi + 4]
cmp ebx, eax
je 0x4d23fe
cmp byte [ebx], 0x5f
je 0x4d2726
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je case.0x4d1db0.10
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x4d23e4
mov dword [esp + 8], eax
mov edi, dword [esi + 8]
mov ebp, ebx
sub ebp, edi
lea eax, [ebp*2]
cmp edi, dword [esp + 0x28]
jne 0x4d23bd
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c52
cmp ebx, dword [esp + 0x28]
je 0x4d2457
push ebp
push edi
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x4d23d2
xor ebx, ebx
mov ecx, esi
call fcn.004d1ba0
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4d270b
movzx ebx, byte [ecx + 3]
mov ebp, dword [ecx + 4]
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x4d24c2
mov esi, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c66
mov dword [eax], edi
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, esi
lea edx, [ecx + 0x20]
mov dword [edi + 4], edx
mov byte [edi + ecx + 0xc], 0x41
mov edx, dword [edi + ecx + 0x10]
and ebp, 0x3f
and edx, 0xffffffc0
or edx, ebp
mov dword [edi + ecx + 0x10], edx
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x4f03cc
mov dword [edi + ecx + 0x18], eax
mov eax, dword [esp + 0x24]
mov byte [edi + ecx + 0x1c], al
and bl, 1
mov byte [edi + ecx + 0x1d], bl
jmp 0x4d2705
movzx ebx, byte [esi + 0x184]
mov byte [esi + 0x184], 0
mov ecx, esi
call fcn.004cd2e0
mov dword [esp + 0x1c], eax
mov byte [esi + 0x184], bl
xor ebx, ebx
test eax, eax
je 0x4d270b
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x4d2712
cmp byte [eax], 0x5f
jne 0x4d2712
inc eax
mov dword [esi], eax
lea edx, [esi + 0x14]
mov dword [esp + 0x18], edx
jmp 0x4d259a
push eax
push edi
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x4d27eb
lea ebx, [eax + ebp]
sar ebp, 1
mov dword [esi + 0xc], ebx
lea eax, [eax + ebp*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
mov dword [ebx], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
xor ebx, ebx
cmp eax, ecx
je 0x4d25a7
cmp byte [eax], 0x45
je 0x4d2919
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je 0x4d270b
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x4d258b
mov dword [esp + 8], eax
mov edi, dword [esi + 8]
mov ebp, ebx
sub ebp, edi
lea eax, [ebp*2]
cmp edi, dword [esp + 0x18]
jne 0x4d2564
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c5c
cmp ebx, dword [esp + 0x18]
je 0x4d25fc
push ebp
push edi
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
add esp, 0xc
mov esi, dword [esp + 0x14]
mov dword [esi + 8], eax
jmp 0x4d2579
mov ecx, esi
call fcn.004d1ba0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
mov ecx, esi
lea esi, [esp + 0x30]
mov edx, esp
push eax
push esi
call fcn.004d2c90
jmp 0x4d2b03
add edi, 2
mov dword [esi], edi
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d4c00
mov ecx, esi
call fcn.004d1ba0
test eax, eax
mov ecx, dword [esp + 0x10]
je 0x4d270b
mov ebx, dword [ecx + 4]
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfc8]
cmp edx, 0xfffff007
ja 0x4d26b3
mov esi, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c6b
mov dword [eax], edi
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, esi
lea edx, [ecx + 0x30]
mov dword [edi + 4], edx
mov byte [edi + ecx + 0xc], 0x3c
mov edx, dword [edi + ecx + 0x10]
and ebx, 0x3f
and edx, 0xffffffc0
or edx, ebx
mov dword [edi + ecx + 0x10], edx
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x4f05e4
mov edx, dword [esp + 8]
mov dword [edi + ecx + 0x1c], edx
mov dword [edi + ecx + 0x18], ebp
mov dword [edi + ecx + 0x20], eax
mov dword [edi + ecx + 0x24], 0
mov dword [edi + ecx + 0x28], 0
lea ebx, [edi + ecx]
add ebx, 8
mov eax, ebx
jmp 0x4d1bb7
cmp eax, ecx
je 0x4d279e
cmp byte [eax], 0x45
jne 0x4d279e
xor ebx, ebx
jmp 0x4d291b
inc ebx
mov dword [esi], ebx
mov ecx, esi
mov edx, dword [esp + 0x38]
call fcn.004cf1b0
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, esi
call fcn.004cd2e0
mov dword [esp + 0xc], eax
xor ebx, ebx
test eax, eax
je 0x4d270b
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x4d2765
cmp word [eax], 0x6970
je 0x4d298b
cmp eax, ecx
je 0x4d270b
cmp byte [eax], 0x45
jne 0x4d270b
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
jmp 0x4d2b36
add edi, 2
mov dword [esi], edi
mov ecx, esi
call fcn.004d1ba0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov edx, esp
mov ecx, esi
call fcn.004d4f20
jmp 0x4d1bb7
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je 0x4d270b
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x4d2abb
mov dword [esp + 8], eax
lea ecx, [esi + 0x14]
mov ebx, dword [esi + 8]
mov edi, ebp
sub edi, ebx
lea eax, [edi + edi]
cmp ebx, ecx
je 0x4d2a7a
push eax
push ebx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
mov ecx, dword [esp + 8]
jne 0x4d2aab
call sub.msvcrt.dll_abort
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.004cf1b0
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
mov esi, esp
lea edx, [esp + 0x1c]
push eax
push esi
call fcn.004d2f90
jmp 0x4d2b03
add edi, 2
mov dword [esi], edi
cmp dword [esp + 0x18], edi
je 0x4d285e
cmp byte [edi], 0x54
jne 0x4d285e
mov ecx, esi
call fcn.004d0bf0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov edx, esp
mov ecx, esi
call fcn.004d4fa0
jmp 0x4d1bb7
mov ecx, esi
call 0x4d3d20
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
jmp 0x4d297d
add edi, 2
mov dword [esi], edi
mov ecx, eax
mov eax, edi
lea edi, [esi + 8]
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 8]
sar ebx, 2
mov ebp, esp
cmp eax, ecx
je 0x4d2899
cmp byte [eax], 0x45
je 0x4d295e
mov ecx, esi
call fcn.004cedc0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, edi
mov edx, ebp
call fcn.004cf090
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
jne 0x4d2890
jmp 0x4d2899
add edi, 2
mov dword [esi], edi
mov ecx, esi
call fcn.004cd2e0
mov dword [esp + 0x30], eax
test eax, eax
je case.0x4d1db0.10
lea ebp, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 2
mov ebx, esp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4d28f5
cmp byte [eax], 0x45
je 0x4d2b0b
mov ecx, esi
call fcn.004d4280
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov ecx, ebp
mov edx, ebx
call fcn.004cf090
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x4d28ec
jmp 0x4d28f5
mov bl, 1
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.004cf1b0
mov dword [esp + 4], edx
mov dword [esp], eax
test bl, bl
jne 0x4d2adf
cmp edx, 1
jne case.0x4d1db0.10
jmp 0x4d2adf
add edi, 2
mov dword [esi], edi
mov ecx, esi
mov edx, 0x4efbb3
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d51e0
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, ebx
call fcn.004cf1b0
mov dword [esp + 4], edx
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.004d50c0
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.004d5020
jmp 0x4d1bb7
add eax, 2
mov dword [esi], eax
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
mov dword [esp + 0x18], edx
jmp 0x4d29d3
push eax
push edi
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x4d2c70
lea ebp, [eax + ebx]
sar ebx, 1
mov dword [esi + 0xc], ebp
lea eax, [eax + ebx*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
xor ebx, ebx
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x4d29e0
cmp byte [eax], 0x45
je 0x4d2b32
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je 0x4d270b
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x4d29c5
mov dword [esp + 8], eax
mov edi, dword [esi + 8]
mov ebx, ebp
sub ebx, edi
lea eax, [ebx + ebx]
cmp edi, dword [esp + 0x28]
jne 0x4d299c
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c75
cmp ebp, dword [esp + 0x28]
je 0x4d2a35
push ebx
push edi
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x4d29b1
add edi, 2
mov dword [esi], edi
mov ecx, esi
call fcn.004d1ba0
mov dword [esp], eax
test eax, eax
je case.0x4d1db0.10
mov edx, esp
mov ecx, esi
call fcn.004d5270
jmp 0x4d1bb7
xor edx, edx
cmp dword [esp + 0x10], 0
sete dl
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d52f0
mov esi, ecx
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d2c5c
cmp ebp, esi
je 0x4d2aa0
push edi
push ebx
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
add esp, 0xc
mov esi, dword [esp + 0x14]
mov dword [esi + 8], eax
mov ecx, dword [esp + 8]
lea ebp, [eax + edi]
sar edi, 1
mov dword [esi + 0xc], ebp
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, ecx
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.004cf1b0
mov dword [esp + 4], edx
mov dword [esp], eax
cmp edx, 1
jne case.0x4d1db0.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
mov esi, esp
lea edx, [esp + 0x1c]
push eax
push esi
call fcn.004d3040
add esp, 8
jmp 0x4d1bb7
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, edi
call fcn.004cf1b0
mov dword [esp + 4], edx
mov dword [esp], eax
lea edx, [esp + 0x30]
mov ecx, esi
push ebx
call fcn.004d5150
add esp, 4
jmp 0x4d1bb7
mov edx, dword [esp + 0x18]
sar edx, 2
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004cf1b0
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 3]
and al, 1
mov ecx, dword [ecx + 4]
shl ecx, 0x19
sar ecx, 0x19
mov dword [esp + 0x2c], ecx
mov ecx, esi
lea esi, [esp + 0x2c]
movzx eax, al
movzx edi, byte [esp + 0x24]
lea ebx, [esp + 0x1c]
lea ebp, [esp + 0xc]
mov edx, esp
push esi
push eax
push edi
push ebx
push ebp
call fcn.004d2eb0
add esp, 0x14
jmp 0x4d1bb7
inc eax
mov dword [esi], eax
sar edi, 2
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov edx, edi
call fcn.004cf1b0
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], 1
lea eax, [esp + 0xc]
mov esi, esp
lea edx, [esp + 0x30]
mov ecx, ebx
push eax
push esi
call fcn.004d2f90
add esp, 8
jmp 0x4d1bb7
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4d201d
cmp byte [eax], 0x74
jne 0x4d2be7
inc eax
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
call fcn.004cd2e0
jmp 0x4d2bfe
cmp byte [eax], 0x7a
mov esi, dword [esp + 0x14]
jne 0x4d201d
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004d1ba0
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x4d1db0.10
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xc]
lea ecx, [eax + 8]
sub edi, dword [eax + 8]
lea edx, [esp + 0x1c]
call fcn.004cf090
jmp 0x4d2b8f
call sub.msvcrt.dll_abort
push str.operator_name_does_not_start_with_operator
push 0xb49
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str._s:_d:__s
call fcn.004be3d0
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call fcn.004b8a80
call fcn.004b8a80
call fcn.004b8a80
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
mov byte [esi + 0x184], bl
push eax
call fcn.004bcb10
int3
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
xor eax, eax
cmp edx, esi
je case.0x4d3295.84
cmp byte [edx], 0x4c
jne case.0x4d3295.84
lea edi, [edx + 1]
mov dword [ecx], edi
mov ebx, esi
sub ebx, edi
je case.0x4d3295.66
movzx ebp, byte [edi]
add ebp, 0xffffffbf
cmp ebp, 0x38
ja case.0x4d3295.66
jmp dword [ebp*4 + 0x4f2e90]
mov esi, ecx
call fcn.004cd2e0
mov ecx, eax
mov dword [esp], eax
xor eax, eax
test ecx, ecx
je case.0x4d3295.84
mov edx, dword [esi]
cmp edx, dword [esi + 4]
je case.0x4d3295.84
cmp byte [edx], 0x45
jne case.0x4d3295.84
mov ecx, esi
inc edx
mov dword [esi], edx
mov edx, esp
call fcn.004d6f60
jmp case.0x4d3295.84
mov esi, ecx
call fcn.004cd2e0
mov dword [esp + 8], eax
test eax, eax
je 0x4d3cbd
mov ecx, esi
mov edi, dword [esi]
mov esi, dword [esi + 4]
mov edx, edi
cmp edi, esi
je 0x4d3303
cmp byte [edi], 0x6e
mov edx, edi
jne 0x4d3303
lea edx, [edi + 1]
mov dword [ecx], edx
xor eax, eax
cmp esi, edx
je case.0x4d3295.84
movsx ebx, byte [edx]
add ebx, 0xffffffd0
cmp ebx, 9
ja case.0x4d3295.84
nop dword [eax]
movsx ebx, byte [edx]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x4d3336
inc edx
mov dword [ecx], edx
cmp edx, esi
jne 0x4d3320
mov ebx, esi
jmp 0x4d3338
mov ebx, edx
mov dword [esp], edi
sub ebx, edi
mov dword [esp + 4], ebx
sete bl
cmp edx, esi
sete bh
or bh, bl
jne case.0x4d3295.84
cmp byte [edx], 0x45
jne case.0x4d3295.84
inc edx
mov dword [ecx], edx
mov eax, esp
lea edx, [esp + 8]
push eax
call fcn.004d7790
add esp, 4
jmp case.0x4d3295.84
add edx, 2
mov dword [ecx], edx
mov edx, str.short
push 5
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, 0x4f0693
push 2
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, 0x4f068c
jmp 0x4d36f8
lea edi, [edx + 2]
mov dword [ecx], edi
mov ebx, esi
sub ebx, edi
cmp ebx, 9
jb case.0x4d3295.84
movzx ebx, byte [edx + 2]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 3]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 4]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 5]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 6]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 7]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
mov ebx, ecx
movzx eax, byte [edx + 8]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 9]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
lea eax, [edx + 0xa]
mov dword [ebx], eax
cmp eax, esi
je 0x4d3cbd
cmp byte [eax], 0x45
mov eax, 0
jne case.0x4d3295.84
add edx, 0xb
mov dword [ebx], edx
mov esi, dword [ebx + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d3510
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d3d0e
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x4e
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x4f0798
mov dword [esi + ecx + 0x18], edi
mov dword [esi + ecx + 0x1c], 8
jmp case.0x4d3295.84
cmp ebx, 2
jb case.0x4d3295.84
cmp word [edi], 0x6e44
jne case.0x4d3295.84
lea edi, [edx + 3]
mov dword [ecx], edi
cmp edi, esi
je 0x4d3577
cmp byte [edi], 0x30
jne 0x4d3577
add edx, 4
mov dword [ecx], edx
mov edi, edx
cmp edi, esi
je case.0x4d3295.84
cmp byte [edi], 0x45
jne case.0x4d3295.84
inc edi
mov dword [ecx], edi
mov edx, str.nullptr
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4d6fe0
cmp ebx, 2
jb case.0x4d3295.84
cmp word [edi], 0x5a5f
jne case.0x4d3295.84
add edx, 3
mov dword [ecx], edx
mov esi, ecx
call fcn.004cc7e0
test eax, eax
je 0x4d3cbd
mov ecx, eax
mov edx, esi
mov esi, dword [esi]
cmp esi, dword [edx + 4]
mov eax, 0
je case.0x4d3295.84
cmp byte [esi], 0x45
jne case.0x4d3295.84
inc esi
mov dword [edx], esi
mov eax, ecx
jmp case.0x4d3295.84
add edx, 2
mov dword [ecx], edx
mov edx, 0x4f0696
push 3
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, 0x4eed97
push 0
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, str.unsigned_short
push 0xe
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, str.signed_char
push 0xb
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, str.unsigned_char
push 0xd
jmp 0x4d3cef
cmp ebx, 2
jb case.0x4d3295.84
cmp byte [edx + 2], 0x6c
jne case.0x4d3295.84
mov esi, ecx
xor edx, edx
call fcn.004d7070
mov dword [esp], eax
test eax, eax
je 0x4d3cbd
mov edx, dword [esi]
cmp edx, dword [esi + 4]
je 0x4d3cbd
cmp byte [edx], 0x45
mov eax, 0
jne case.0x4d3295.84
mov ecx, esi
inc edx
mov dword [esi], edx
mov edx, esp
call fcn.004d7710
jmp case.0x4d3295.84
cmp ebx, 3
jb case.0x4d3295.84
movzx esi, word [edi]
xor esi, 0x3062
movzx ebx, byte [edi + 2]
xor ebx, 0x45
or bx, si
je 0x4d3cf9
movzx esi, word [edi]
xor esi, 0x3162
movzx edi, byte [edi + 2]
xor edi, 0x45
or di, si
jne case.0x4d3295.84
add edx, 4
mov dword [ecx], edx
mov dword [esp], 1
jmp 0x4d3d05
add edx, 2
mov dword [ecx], edx
mov edx, str.char
push 4
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, 0x4f068e
push 1
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, 0x4f0690
push 2
jmp 0x4d3cef
lea edi, [edx + 2]
mov dword [ecx], edi
mov ebx, esi
sub ebx, edi
cmp ebx, 0x15
jb case.0x4d3295.84
movzx ebx, byte [edx + 2]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 3]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 4]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 5]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 6]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 7]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
mov ebx, ecx
movzx eax, byte [edx + 8]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 9]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xa]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xb]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xc]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xd]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xe]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xf]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0x10]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0x11]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0x12]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0x13]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0x14]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0x15]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
lea eax, [edx + 0x16]
mov dword [ebx], eax
cmp eax, esi
je 0x4d3cbd
cmp byte [eax], 0x45
mov eax, 0
jne case.0x4d3295.84
add edx, 0x17
mov dword [ebx], edx
mov esi, dword [ebx + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d39e6
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d3d0e
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x50
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x4f0878
mov dword [esi + ecx + 0x18], edi
mov dword [esi + ecx + 0x1c], 0x14
jmp case.0x4d3295.84
lea edi, [edx + 2]
mov dword [ecx], edi
mov ebx, esi
sub ebx, edi
cmp ebx, 0x11
jb case.0x4d3295.84
movzx ebx, byte [edx + 2]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 3]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 4]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 5]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 6]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
movzx ebx, byte [edx + 7]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x4d3295.84
mov ebx, ecx
movzx eax, byte [edx + 8]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 9]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xa]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xb]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xc]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xd]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xe]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0xf]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0x10]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
movzx eax, byte [edx + 0x11]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x4d3cbd
lea eax, [edx + 0x12]
mov dword [ebx], eax
cmp eax, esi
je 0x4d3cbd
cmp byte [eax], 0x45
mov eax, 0
jne case.0x4d3295.84
add edx, 0x13
mov dword [ebx], edx
mov esi, dword [ebx + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d3c82
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d3d0e
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x4f
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x4f0808
mov dword [esi + ecx + 0x18], edi
mov dword [esi + ecx + 0x1c], 0x10
jmp case.0x4d3295.84
xor eax, eax
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
add edx, 2
mov dword [ecx], edx
mov edx, str.unsigned___int128
push 0x11
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, str.__int128
push 8
jmp 0x4d3cef
add edx, 2
mov dword [ecx], edx
mov edx, str.wchar_t
push 7
call fcn.004d6dd0
add esp, 0x10
jmp 0x4d3cc2
add edx, 4
mov dword [ecx], edx
mov dword [esp], 0
mov edx, esp
call fcn.004d6ee0
jmp case.0x4d3295.84
call fcn.004b8a80
int3
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
mov esi, edx
sub esi, edi
cmp esi, 3
jae 0x4d3d41
xor eax, eax
cmp esi, 2
je 0x4d3d59
jmp 0x4d3ff7
movzx eax, word [edi]
xor eax, 0x7066
movzx esi, byte [edi + 2]
xor esi, 0x54
or si, ax
je 0x4d3e29
cmp word [edi], 0x7066
je 0x4d3dad
xor eax, eax
cmp word [edi], 0x4c66
jne 0x4d3ff7
add edi, 2
mov dword [ecx], edi
cmp edx, edi
je 0x4d3ff7
movsx esi, byte [edi]
add esi, 0xffffffd0
cmp esi, 9
ja 0x4d3ff7
mov ebx, edi
nop dword [eax + eax]
movsx esi, byte [ebx]
add esi, 0xffffffd0
cmp esi, 9
ja 0x4d3f42
inc ebx
mov dword [ecx], ebx
cmp ebx, edx
jne 0x4d3d90
mov esi, edx
jmp 0x4d3f44
lea esi, [edi + 2]
mov dword [ecx], esi
cmp esi, edx
je 0x4d3dc2
cmp byte [esi], 0x72
jne 0x4d3dc2
add edi, 3
mov dword [ecx], edi
mov esi, edi
cmp esi, edx
je 0x4d3dce
cmp byte [esi], 0x56
jne 0x4d3dce
inc esi
mov dword [ecx], esi
cmp esi, edx
je 0x4d3dda
cmp byte [esi], 0x4b
jne 0x4d3dda
inc esi
mov dword [ecx], esi
xor eax, eax
cmp edx, esi
je 0x4d3eb0
movsx edi, byte [esi]
add edi, 0xffffffd0
cmp edi, 9
ja 0x4d3eb0
mov edi, esi
mov ebp, esi
nop word [eax + eax]
movsx ebx, byte [ebp]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x4d3e16
inc ebp
mov dword [ecx], ebp
inc edi
cmp ebp, edx
jne 0x4d3e00
mov edi, edx
mov ebx, esi
sub edi, esi
mov esi, ebp
cmp esi, edx
jne 0x4d3ebc
jmp 0x4d3ff7
add edi, 3
mov dword [ecx], edi
mov esi, dword [ecx + 0x1198]
mov edx, dword [esi + 4]
lea eax, [edx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d3e6e
mov edi, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d3fff
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor edx, edx
mov esi, eax
lea eax, [edx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + edx + 0xc], 8
and byte [esi + edx + 0x10], 0xc0
lea eax, [esi + edx]
add eax, 8
movzx ecx, byte [esi + edx + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [esi + edx + 0x14], cl
mov dword [esi + edx + 8], 0x4efa1c
mov dword [esi + edx + 0x18], 0x4f0e7c
mov dword [esi + edx + 0x1c], 4
jmp 0x4d3ff7
xor edi, edi
xor ebx, ebx
cmp esi, edx
je 0x4d3ff7
cmp byte [esi], 0x5f
jne 0x4d3ff7
inc esi
mov dword [ecx], esi
mov esi, dword [ecx + 0x1198]
mov edx, dword [esi + 4]
lea eax, [edx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d3f08
mov ebp, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d3fff
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor edx, edx
mov esi, eax
lea eax, [edx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + edx + 0xc], 0x43
and byte [esi + edx + 0x10], 0xc0
lea eax, [esi + edx]
add eax, 8
movzx ecx, byte [esi + edx + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [esi + edx + 0x14], cl
mov dword [esi + edx + 8], 0x4f0e90
mov dword [esi + edx + 0x1c], edi
mov dword [esi + edx + 0x18], ebx
jmp 0x4d3ff7
mov esi, ebx
cmp esi, edi
sete byte [esp + 3]
mov ebp, edx
cmp ebx, edx
sete dl
or dl, byte [esp + 3]
jne 0x4d3ff7
cmp byte [ebx], 0x70
jne 0x4d3ff7
mov edx, ebp
lea esi, [ebx + 1]
mov dword [ecx], esi
cmp esi, ebp
je 0x4d3f7c
cmp byte [esi], 0x72
jne 0x4d3f7c
add ebx, 2
mov dword [ecx], ebx
mov esi, ebx
cmp esi, edx
je 0x4d3f88
cmp byte [esi], 0x56
jne 0x4d3f88
inc esi
mov dword [ecx], esi
cmp esi, edx
je 0x4d3f94
cmp byte [esi], 0x4b
jne 0x4d3f94
inc esi
mov dword [ecx], esi
xor eax, eax
cmp edx, esi
je 0x4d3fc2
movsx edx, byte [esi]
add edx, 0xffffffd0
cmp edx, 9
ja 0x4d3fc8
mov edi, esi
mov ebx, esi
movsx edx, byte [ebx]
add edx, 0xffffffd0
cmp edx, 9
ja 0x4d3fd0
inc ebx
mov dword [ecx], ebx
inc edi
cmp ebx, ebp
jne 0x4d3fa9
mov edx, ebp
mov edi, ebp
jmp 0x4d3fd2
xor edi, edi
xor ebx, ebx
jmp 0x4d3fda
xor edi, edi
xor ebx, ebx
mov edx, ebp
jmp 0x4d3fda
mov edx, ebp
mov ebp, esi
sub edi, esi
mov esi, ebx
mov ebx, ebp
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
cmp esi, edx
je 0x4d3ff7
cmp byte [esi], 0x5f
jne 0x4d3ff7
inc esi
mov dword [ecx], esi
lea edx, [esp + 4]
call fcn.004d9d00
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004b8a80
int3
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
xor eax, eax
cmp edx, esi
je case.0x4d4056.77
cmp byte [edx], 0x66
jne case.0x4d4056.77
lea edi, [edx + 1]
mov dword [ecx], edi
cmp esi, edi
je case.0x4d4056.77
movzx edi, byte [edi]
xor eax, eax
add edi, 0xffffffb4
cmp edi, 0x26
ja case.0x4d4056.77
xor ebx, ebx
mov dword [esp], 0
jmp dword [edi*4 + 0x4f2f74]
mov bl, 1
mov dword [esp], ebx
mov bl, 1
jmp case.0x4d4056.114
mov bl, 1
mov dword [esp], ebx
xor ebx, ebx
jmp case.0x4d4056.114
mov bl, 1
mov dword [esp], 0
lea edi, [edx + 2]
mov dword [ecx], edi
sub esi, edi
cmp esi, 2
jb case.0x4d4056.77
mov dword [esp + 4], ebx
movzx ebx, byte [edx + 2]
xor eax, eax
mov esi, 0x3d
jmp 0x4d40a7
inc edi
mov eax, edi
cmp esi, eax
je 0x4d40d0
lea edi, [eax + esi]
shr edi, 1
lea ebp, [edi*4]
cmp bl, byte [ebp + ebp*2 + 0x4efe30]
jg 0x4d40a0
jne 0x4d40ca
mov bh, byte [ebp + ebp*2 + 0x4efe31]
cmp byte [edx + 3], bh
jg 0x4d40a0
mov esi, edi
cmp esi, eax
jne 0x4d40a7
lea esi, [eax + eax*2]
xor eax, eax
cmp bl, byte [esi*4 + 0x4efe30]
jne case.0x4d4056.77
lea edi, [esi*4 + 0x4efe30]
movzx ebx, byte [edx + 3]
cmp bl, byte [edi + 1]
jne case.0x4d4056.77
add edx, 4
mov dword [ecx], edx
movzx edx, byte [edi + 2]
cmp edx, 2
je 0x4d412c
cmp edx, 4
jne case.0x4d4056.77
mov ebx, dword [edi + 8]
push ebx
mov esi, ecx
call sub.msvcrt.dll_strlen
mov ecx, esi
add esp, 4
mov edx, eax
xor eax, eax
cmp byte [ebx + edx - 1], 0x2a
jne case.0x4d4056.77
mov ebp, ecx
call fcn.004d1ba0
mov esi, eax
xor eax, eax
test esi, esi
mov ebx, dword [esp + 4]
je case.0x4d4056.77
cmp byte [esp], 0
je 0x4d4169
mov ecx, ebp
call fcn.004d1ba0
test eax, eax
je 0x4d424f
test bl, bl
mov ecx, esi
cmovne ecx, eax
cmovne eax, esi
mov dword [esp], eax
mov esi, ecx
jmp 0x4d4170
mov dword [esp], 0
mov ebx, dword [edi + 8]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 8
jb 0x4d4253
mov ecx, 0x7265706f
xor ecx, dword [ebx]
mov edx, 0x726f7461
xor edx, dword [ebx + 4]
or edx, ecx
jne 0x4d4253
lea edx, [ebx + 8]
mov edi, eax
add edi, 0xfffffff8
mov ecx, ebp
je 0x4d41b9
cmp byte [edx], 0x20
jne 0x4d41bb
add ebx, 9
add eax, 0xfffffff7
mov edx, ebx
mov edi, eax
jmp 0x4d41bb
xor edi, edi
mov ebx, dword [ecx + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x4d4201
mov dword [esp + 8], edx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d426c
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor ecx, ecx
mov ebx, eax
mov edx, dword [esp + 8]
lea eax, [ecx + 0x30]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x47
and byte [ebx + ecx + 0x10], 0xc0
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4f0efc
mov dword [ebx + ecx + 0x18], esi
mov eax, dword [esp]
mov dword [ebx + ecx + 0x1c], eax
mov dword [ebx + ecx + 0x24], edi
mov dword [ebx + ecx + 0x20], edx
mov eax, dword [esp + 4]
mov byte [ebx + ecx + 0x28], al
lea eax, [ebx + ecx]
add eax, 8
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp case.0x4d4056.77
push str.operator_name_does_not_start_with_operator
push 0xb49
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str._s:_d:__s
call fcn.004be3d0
call fcn.004b8a80
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
call fcn.004cd2e0
xor edi, edi
test eax, eax
je 0x4d46a5
mov dword [esp + 4], eax
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je 0x4d46a5
mov ebx, dword [esi]
mov edx, dword [esi + 4]
mov ecx, ebx
cmp ebx, edx
je 0x4d45c2
cmp byte [ebx], 0x6e
mov ecx, ebx
jne 0x4d45c2
lea ecx, [ebx + 1]
mov dword [esi], ecx
xor edi, edi
cmp edx, ecx
je 0x4d45f6
movsx ebp, byte [ecx]
add ebp, 0xffffffd0
cmp ebp, 9
ja 0x4d45f6
nop word cs:[eax + eax]
movsx ebp, byte [ecx]
add ebp, 0xffffffd0
cmp ebp, 9
ja 0x4d4603
inc ecx
mov dword [esi], ecx
cmp ecx, edx
jne 0x4d45e0
mov ebp, edx
jmp 0x4d4605
xor ebp, ebp
xor ebx, ebx
cmp ecx, edx
jne 0x4d460f
jmp 0x4d46a5
mov ebp, ecx
sub ebp, ebx
cmp ecx, edx
je 0x4d46a5
cmp byte [ecx], 0x45
jne 0x4d46a5
inc ecx
mov dword [esi], ecx
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x4d465c
mov dword [esp], eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d46af
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, dword [esp]
lea esi, [ecx + 0x20]
mov dword [edi + 4], esi
mov byte [edi + ecx + 0xc], 0x45
mov esi, dword [edi + ecx + 0x10]
and esi, 0xffffffc0
or esi, 2
mov dword [edi + ecx + 0x10], esi
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x4f1120
mov edx, dword [esp + 4]
mov dword [edi + ecx + 0x18], edx
mov dword [edi + ecx + 0x1c], eax
mov dword [edi + ecx + 0x24], ebp
mov dword [edi + ecx + 0x20], ebx
add edi, ecx
add edi, 8
mov eax, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004b8a80
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x4d4799
cmp word [eax], 0x5172
je 0x4d47a3
cmp word [eax], 0x7172
je 0x4d484b
xor eax, eax
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
add eax, 2
mov dword [esi], eax
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
sar edx, 2
mov dword [esp + 8], edx
lea edx, [esi + 0x14]
mov dword [esp + 4], edx
jmp 0x4d47f1
push eax
push ebx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x4d4bf4
lea ebp, [eax + edi]
sar edi, 1
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp]
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x4d47fa
cmp byte [eax], 0x5f
je 0x4d4869
mov ecx, esi
call fcn.004cd2e0
test eax, eax
je 0x4d4799
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x4d47e3
mov dword [esp], eax
mov ebx, dword [esi + 8]
mov edi, ebp
sub edi, ebx
lea eax, [edi + edi]
cmp ebx, dword [esp + 4]
jne 0x4d47c0
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d4bf4
cmp ebp, dword [esp + 4]
je 0x4d4846
push edi
push ebx
push eax
mov ebx, eax
call sub.msvcrt.dll_memmove
mov eax, ebx
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x4d47d5
add eax, 2
mov dword [esi], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
cmp eax, ecx
jne 0x4d488c
jmp 0x4d4799
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 8]
call fcn.004cf1b0
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x4d4799
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 8]
sar ecx, 2
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x14]
mov dword [esp + 4], ecx
jmp 0x4d48b8
cmp eax, ecx
je 0x4d4799
cmp byte [eax], 0x58
jne 0x4d4900
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je 0x4d4799
mov ebx, eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
xor ebp, ebp
cmp eax, ecx
je 0x4d4990
cmp byte [eax], 0x4e
jne 0x4d4990
inc eax
mov dword [esi], eax
mov dl, 1
mov dword [esp], edx
cmp eax, ecx
jne 0x4d499b
jmp 0x4d49b8
cmp byte [eax], 0x54
jne 0x4d4a50
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004cd2e0
test eax, eax
je 0x4d4799
mov edi, eax
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d495b
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d4bf9
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x55
and byte [ebx + ecx + 0x10], 0xc0
lea edx, [ebx + ecx]
add edx, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4f121c
jmp 0x4d4ad6
mov dword [esp], 0
cmp eax, ecx
je 0x4d49b8
cmp byte [eax], 0x52
jne 0x4d49b8
inc eax
mov dword [esi], eax
mov ecx, esi
xor edx, edx
call fcn.004ce710
mov ebp, eax
xor eax, eax
test ebp, ebp
je 0x4d479b
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d49f6
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d4bf9
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
lea eax, [ecx + 0x20]
mov dword [edi + 4], eax
lea edx, [edi + ecx]
add edx, 8
mov byte [edi + ecx + 0xc], 0x54
and byte [edi + ecx + 0x10], 0xc0
movzx eax, byte [edi + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [edi + ecx + 0x14], al
mov dword [edi + ecx + 8], 0x4f11a4
mov dword [edi + ecx + 0x18], ebx
mov eax, dword [esp]
mov byte [edi + ecx + 0x1c], al
mov dword [edi + ecx + 0x20], ebp
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x4d4b42
jmp 0x4d4ae2
cmp byte [eax], 0x51
jne 0x4d4799
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004d1ba0
test eax, eax
je 0x4d4799
mov edi, eax
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d4aab
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d4bf9
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x56
and byte [ebx + ecx + 0x10], 0xc0
lea edx, [ebx + ecx]
add edx, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4f1294
mov dword [ebx + ecx + 0x18], edi
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x4d4b42
mov dword [esp], edx
mov ebp, dword [esi + 8]
mov edi, ebx
sub edi, ebp
lea eax, [edi + edi]
cmp ebp, dword [esp + 4]
je 0x4d4b0b
push eax
push ebp
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
jne 0x4d4b34
jmp 0x4d4bf4
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d4bf4
cmp ebx, dword [esp + 4]
je 0x4d4b31
push edi
push ebp
push eax
mov ebx, eax
call sub.msvcrt.dll_memmove
mov eax, ebx
add esp, 0xc
mov dword [esi + 8], eax
lea ebx, [eax + edi]
sar edi, 1
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov edx, dword [esp]
lea eax, [ebx + 4]
mov dword [esi + 0xc], eax
mov dword [ebx], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x4d48b0
cmp byte [eax], 0x45
jne 0x4d48b0
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 0x10]
call fcn.004cf1b0
mov edi, eax
mov ebx, edx
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d4bac
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d4bf9
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x53
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x4f1304
mov eax, dword [esp + 8]
mov dword [ebp + ecx + 0x18], eax
mov eax, dword [esp + 0xc]
mov dword [ebp + ecx + 0x1c], eax
mov dword [ebp + ecx + 0x24], ebx
mov dword [ebp + ecx + 0x20], edi
lea eax, [ecx + ebp]
add eax, 8
jmp 0x4d479b
call sub.msvcrt.dll_abort
call fcn.004b8a80
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov edi, ecx
call fcn.004cd2e0
xor ebp, ebp
test eax, eax
je 0x4d4efe
mov dword [esp + 8], eax
mov ecx, edi
call fcn.004d1ba0
mov dword [esp + 0x18], eax
test eax, eax
je 0x4d4efe
mov esi, dword [edi]
mov ecx, dword [edi + 4]
mov eax, esi
cmp esi, ecx
je 0x4d4c46
cmp byte [esi], 0x6e
mov eax, esi
jne 0x4d4c46
lea eax, [esi + 1]
mov dword [edi], eax
xor ebx, ebx
cmp ecx, eax
je 0x4d4c76
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x4d4c76
nop word [eax + eax]
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x4d4c7a
inc eax
mov dword [edi], eax
cmp eax, ecx
jne 0x4d4c60
mov ebx, ecx
jmp 0x4d4c7c
xor esi, esi
jmp 0x4d4c7e
mov ebx, eax
sub ebx, esi
mov dword [esp + 0x10], ebx
mov edx, dword [edi + 0xc]
sub edx, dword [edi + 8]
mov dword [esp + 0x14], edx
cmp eax, ecx
je 0x4d4e1e
lea edx, [edi + 0x14]
mov dword [esp + 0xc], edx
mov dword [esp + 4], esi
jmp 0x4d4d1f
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor esi, esi
mov ebx, eax
lea eax, [esi + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + esi + 0xc], 8
and byte [ebx + esi + 0x10], 0xc0
movzx eax, byte [ebx + esi + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + esi + 0x14], al
mov dword [ebx + esi + 8], 0x4efa1c
mov dword [ebx + esi + 0x1c], ebp
mov eax, dword [esp]
mov dword [ebx + esi + 0x18], eax
mov ebp, dword [edi + 0xc]
cmp ebp, dword [edi + 0x10]
je 0x4d4db0
lea eax, [ebx + esi]
add eax, 8
lea ecx, [ebp + 4]
mov dword [edi + 0xc], ecx
mov dword [ebp], eax
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp eax, ecx
mov esi, dword [esp + 4]
je 0x4d4efc
cmp byte [eax], 0x5f
jne 0x4d4e1e
inc eax
mov dword [edi], eax
xor ebp, ebp
cmp ecx, eax
je 0x4d4d70
movsx edx, byte [eax]
add edx, 0xffffffd0
mov ebx, 0
cmp edx, 9
ja 0x4d4d72
mov ebp, eax
nop word cs:[eax + eax]
movsx edx, byte [ebp]
add edx, 0xffffffd0
cmp edx, 9
ja 0x4d4d65
inc ebp
mov dword [edi], ebp
cmp ebp, ecx
jne 0x4d4d50
mov ebp, ecx
sub ebp, eax
mov ebx, eax
jmp 0x4d4d72
xor ebx, ebx
mov dword [esp], ebx
mov ebx, dword [edi + 0x1198]
mov esi, dword [ebx + 4]
lea eax, [esi - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d4cc3
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
jne 0x4d4cb0
jmp 0x4d4f08
mov ecx, dword [edi + 8]
mov eax, ebp
sub eax, ecx
mov dword [esp], eax
add eax, eax
cmp ecx, dword [esp + 0xc]
je 0x4d4dd8
push eax
push ecx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [edi + 8], eax
test eax, eax
jne 0x4d4e0b
jmp 0x4d4f0d
mov dword [esp + 0x1c], ecx
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d4f0d
cmp ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
je 0x4d4e08
push dword [esp]
push ecx
push eax
mov ebp, eax
call sub.msvcrt.dll_memmove
mov eax, ebp
add esp, 0xc
mov dword [edi + 8], eax
mov ecx, dword [esp]
lea ebp, [eax + ecx]
sar ecx, 1
lea eax, [eax + ecx*4]
mov dword [edi + 0x10], eax
jmp 0x4d4cff
xor ebp, ebp
cmp eax, ecx
je 0x4d4e37
cmp byte [eax], 0x70
jne 0x4d4e37
inc eax
mov dword [edi], eax
mov bl, 1
cmp eax, ecx
jne 0x4d4e41
jmp 0x4d4efe
xor ebx, ebx
cmp eax, ecx
je 0x4d4efe
cmp byte [eax], 0x45
jne 0x4d4efe
mov dword [esp + 4], esi
mov edx, dword [esp + 0x14]
sar edx, 2
inc eax
mov dword [edi], eax
mov ecx, edi
call fcn.004cf1b0
mov dword [esp], eax
mov ebp, edx
mov esi, dword [edi + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x4d4e9e
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d4f08
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ecx, ecx
mov esi, eax
mov eax, dword [esp + 8]
lea edx, [ecx + 0x30]
mov dword [esi + 4], edx
mov byte [esi + ecx + 0xc], 0x3b
and byte [esi + ecx + 0x10], 0xc0
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x4f1370
mov dword [esi + ecx + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esi + ecx + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [esi + ecx + 0x24], eax
mov eax, dword [esp + 4]
mov dword [esi + ecx + 0x20], eax
mov dword [esi + ecx + 0x2c], ebp
mov eax, dword [esp]
mov dword [esi + ecx + 0x28], eax
mov byte [esi + ecx + 0x30], bl
lea ebp, [esi + ecx]
add ebp, 8
jmp 0x4d4efe
xor ebp, ebp
mov eax, ebp
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004b8a80
call sub.msvcrt.dll_abort
int3
push ebp
push ebx
push edi
push esi
mov esi, edx
mov ebx, dword [ecx + 0x1198]
mov ebp, dword [ebx + 4]
lea eax, [ebp - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d5222
mov edi, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d5267
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ebp, ebp
mov ebx, eax
lea eax, [ebp + 0x20]
mov dword [ebx + 4], eax
lea edi, [ebx + ebp]
add edi, 8
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov byte [ebx + ebp + 0xc], 8
and byte [ebx + ebp + 0x10], 0xc0
movzx ecx, byte [ebx + ebp + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [ebx + ebp + 0x14], cl
mov dword [ebx + ebp + 8], 0x4efa1c
mov dword [ebx + ebp + 0x18], esi
mov dword [ebx + ebp + 0x1c], eax
mov eax, edi
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004b8a80
int3
push ebp
push ebx
push edi
push esi
mov ebx, edx
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 3
jae 0x4d530d
cmp edx, 2
je 0x4d5326
jmp 0x4d5331
movzx edx, word [eax]
xor edx, 0x7273
movzx edi, byte [eax + 2]
xor edi, 0x4e
or di, dx
je 0x4d5513
cmp word [eax], 0x7273
je 0x4d53c1
mov ecx, esi
call fcn.004db9f0
test eax, eax
sete cl
xor bl, 1
or bl, cl
jne 0x4d5841
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x4d538b
mov ebx, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d5846
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, ebx
lea edx, [ecx + 0x20]
mov dword [edi + 4], edx
mov byte [edi + ecx + 0xc], 0x2e
and byte [edi + ecx + 0x10], 0xc0
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x4f171c
mov dword [edi + ecx + 0x18], eax
lea eax, [edi + ecx]
add eax, 8
jmp 0x4d5841
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x4d55ba
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4d55ba
mov ecx, esi
call fcn.004db930
test eax, eax
je 0x4d57b6
mov ebp, eax
xor edi, edi
test bl, bl
jne 0x4d545a
jmp 0x4d56cf
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x17
and byte [ebx + ecx + 0x10], 0xc0
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4f1548
mov dword [ebx + ecx + 0x18], edi
lea edi, [ebx + ecx]
add edi, 8
lea eax, [ebx + ecx]
add eax, 0x1c
mov dword [eax], ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4d5447
cmp byte [eax], 0x45
je 0x4d570e
mov ecx, esi
call fcn.004db930
mov ebp, eax
xor eax, eax
test ebp, ebp
je 0x4d5841
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
test edi, edi
je 0x4d54a1
cmp eax, 0xfffff007
ja 0x4d5400
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d5846
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
jmp 0x4d5400
cmp eax, 0xfffff007
ja 0x4d54d0
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d5846
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x2e
and byte [ebx + ecx + 0x10], 0xc0
lea edi, [ebx + ecx]
add edi, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4f171c
lea eax, [ebx + ecx]
add eax, 0x18
mov dword [eax], ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x4d543e
jmp 0x4d5447
add eax, 3
mov dword [esi], eax
mov ecx, esi
call fcn.004db7f0
test eax, eax
je 0x4d57b6
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x4d5735
cmp byte [eax], 0x49
jne 0x4d5735
mov ecx, esi
xor edx, edx
call fcn.004d0600
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x4d5841
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d5590
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d5846
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x2d
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x4f1cf4
jmp 0x4d5727
mov ecx, esi
call fcn.004db7f0
test eax, eax
je 0x4d57b6
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x4d5711
cmp byte [eax], 0x49
jne 0x4d5711
mov ecx, esi
xor edx, edx
call fcn.004d0600
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x4d5841
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d5632
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d5846
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x2d
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x4f1cf4
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
jmp 0x4d5711
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x17
and byte [ebx + ecx + 0x10], 0xc0
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4f1548
mov dword [ebx + ecx + 0x18], edi
lea edi, [ebx + ecx]
add edi, 8
mov dword [ebx + ecx + 0x1c], ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4d56bc
cmp byte [eax], 0x45
je 0x4d570e
mov ecx, esi
call fcn.004db930
mov ebp, eax
xor eax, eax
test ebp, ebp
je 0x4d5841
test edi, edi
je 0x4d5703
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d567d
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
jne 0x4d566a
jmp 0x4d5846
mov edi, ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x4d56b7
jmp 0x4d56bc
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004db9f0
test eax, eax
je 0x4d57b6
mov ebx, eax
jmp 0x4d57d2
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4d5741
cmp byte [eax], 0x45
je 0x4d57bd
mov ecx, esi
call fcn.004db930
test eax, eax
je 0x4d57b6
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d578c
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d5846
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x17
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x4f1548
jmp 0x4d5727
xor eax, eax
jmp 0x4d5841
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.004db9f0
mov ebx, eax
mov eax, 0
test ebx, ebx
je 0x4d5841
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4d580c
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4d5846
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x17
and byte [ebp + ecx + 0x10], 0xc0
lea eax, [ecx + ebp]
add eax, 8
movzx edx, byte [ebp + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebp + ecx + 0x14], dl
mov dword [ebp + ecx + 8], 0x4f1548
mov dword [ebp + ecx + 0x18], edi
mov dword [ebp + ecx + 0x1c], ebx
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004b8a80
int3