Function at 0x66ffc0
Capabilities:
Encode data using base64

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov ebp, dword [ecx]
mov dword [esp], ecx
mov ecx, dword [ecx + 4]
mov dword [esp + 8], ecx
sub ecx, ebp
xor edi, edi
cmp ecx, 2
jae 0x66ffe6
mov eax, edi
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret
movzx eax, word [ebp]
xor edx, edx
cmp eax, 0x7367
setne al
je 0x66fffa
xor ebx, ebx
jmp 0x670011
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
mov ecx, dword [esp + 8]
sub ecx, ebp
mov bl, 1
xor edi, edi
cmp ecx, 2
jb 0x66ffdc
mov dword [esp + 0x1c], ebx
xor ebx, ebx
mov bl, al
mov dword [esp + 0x18], ebx
movzx eax, byte [ebp]
mov edi, 0x3d
jmp 0x670037
inc esi
mov edx, esi
cmp edi, edx
je 0x670066
lea esi, [edx + edi]
shr esi, 1
lea ebx, [esi*4]
cmp al, byte [ebx + ebx*2 + 0x6fc5e0]
jg 0x670030
jne 0x670060
mov ah, byte [ebx + ebx*2 + 0x6fc5e1]
cmp byte [ebp + 1], ah
setg ah
test ah, 1
jne 0x670030
mov edi, esi
cmp edi, edx
jne 0x670037
lea edx, [edx + edx*2]
cmp al, byte [edx*4 + 0x6fc5e0]
jne 0x670102
lea edx, [edx*4 + 0x6fc5e0]
movzx eax, byte [ebp + 1]
cmp al, byte [edx + 1]
jne 0x670102
lea ecx, [ebp + 2]
mov eax, dword [esp]
mov dword [esp + 0x38], ecx
mov dword [eax], ecx
movzx ebx, byte [edx + 2]
mov dword [esp + 0x18], edx
mov edi, dword [edx + 8]
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp ebx, 0xa
ja 0x6702b3
cmp eax, 8
jb 0x671183
mov ecx, 0x7265706f
xor ecx, dword [edi]
mov edx, 0x726f7461
xor edx, dword [edi + 4]
or edx, ecx
jne 0x671183
lea edx, [edi + 8]
mov esi, eax
add esi, 0xfffffff8
je 0x6703b4
cmp byte [edx], 0x20
mov ecx, dword [esp]
jne case.default.0x6700fb
add edi, 9
add eax, 0xfffffff7
mov edx, edi
mov esi, eax
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edx
mov edi, dword [esp + 0x18]
jmp dword [ebx*4 + 0x6fef44]
movzx edx, byte [ebp]
cmp edx, 0x66
je 0x670146
cmp edx, 0x54
je 0x670137
cmp edx, 0x4c
jne 0x67017e
mov ecx, dword [esp]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
jmp 0x6717c0
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edx
mov edi, dword [esp + 0x18]
jmp dword [ebx*4 + 0x6fef44]
mov ecx, dword [esp]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0066f140
movzx eax, byte [ebp + 1]
cmp al, 0x70
je 0x67016f
cmp ecx, 3
jb 0x6702cd
cmp al, 0x4c
jne 0x6702cd
movsx eax, byte [ebp + 2]
add eax, 0xffffffd0
cmp eax, 9
ja 0x6702cd
mov ecx, dword [esp]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
jmp 0x672130
movzx eax, word [ebp]
cmp eax, 0x6c69
je 0x6702dc
movzx eax, word [ebp]
cmp eax, 0x636d
je 0x670442
movzx eax, word [ebp]
cmp eax, 0x786e
je 0x670456
movzx eax, word [ebp]
cmp eax, 0x6f73
je 0x6709e4
movzx eax, word [ebp]
cmp eax, 0x7073
je 0x670af3
movzx eax, word [ebp]
cmp eax, 0x5a73
je 0x670c5a
movzx eax, word [ebp]
cmp eax, 0x5073
je 0x670d9a
movzx eax, word [ebp]
cmp eax, 0x6c74
je 0x670de9
movzx eax, word [ebp]
cmp eax, 0x7274
je 0x670e52
movzx eax, word [ebp]
cmp eax, 0x7774
je 0x670ec1
cmp ebp, dword [esp + 8]
je 0x670fb5
cmp dl, 0x75
jne 0x670fb5
inc ebp
mov ecx, dword [esp]
mov dword [ecx], ebp
call fcn.0066e590
mov dword [esp + 0x2c], eax
test eax, eax
je 0x671177
mov edi, eax
mov eax, dword [eax]
mov ebx, dword [eax + 0x18]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
cmp edx, 8
jne 0x67026d
mov ecx, 0x75755f5f
xor ecx, dword [eax]
mov edx, 0x666f6469
xor edx, dword [eax + 4]
or edx, ecx
je 0x67111f
mov ecx, dword [esp]
lea ebx, [ecx + 8]
mov edi, dword [ecx + 0xc]
sub edi, dword [ecx + 8]
lea ebp, [esp + 0xc]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x67028d
cmp byte [eax], 0x45
je 0x6710e3
call fcn.0066d310
mov dword [esp + 0xc], eax
test eax, eax
je 0x671177
mov ecx, ebx
mov edx, ebp
call fcn.0066d520
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x670284
jmp 0x67028d
mov edx, edi
mov esi, eax
mov ecx, dword [esp]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edx
mov edi, dword [esp + 0x18]
jmp dword [ebx*4 + 0x6fef44]
mov ecx, dword [esp]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
jmp 0x672420
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
mov dword [esp + 0x1c], eax
lea edx, [ecx + 0x14]
mov eax, dword [esp + 8]
jmp 0x67030f
mov edx, ebp
lea eax, [edi + 4]
mov dword [ecx + 0xc], eax
mov dword [edi], ebx
mov ebp, dword [ecx]
mov eax, dword [ecx + 4]
cmp ebp, eax
je 0x67031d
cmp byte [ebp], 0x45
je 0x67048e
mov ebp, edx
mov esi, ecx
call fcn.00672690
test eax, eax
je 0x671177
mov ebx, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
mov ecx, esi
jne 0x670300
mov eax, dword [ecx + 8]
mov edx, edi
sub edx, eax
mov dword [esp + 8], edx
add edx, edx
cmp eax, ebp
je 0x670369
push edx
push eax
mov edi, ecx
call sub.msvcrt.dll_realloc
add esp, 8
mov esi, eax
mov dword [edi + 8], eax
test eax, eax
mov ecx, edi
mov edx, ebp
jne 0x670398
jmp 0x67117e
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x671198
mov esi, eax
mov edx, ebp
cmp edi, ebp
je 0x670392
push dword [esp + 8]
push edx
push esi
call sub.msvcrt.dll_memcpy
mov edx, ebp
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 8], esi
mov ebp, dword [esp + 8]
mov eax, ebp
sar eax, 2
sar ebp, 1
lea edi, [esi + eax*4]
mov dword [ecx + 0xc], edi
lea eax, [esi + ebp*4]
mov dword [ecx + 0x10], eax
jmp 0x670302
xor esi, esi
mov ecx, dword [esp]
mov dword [esp + 0x30], esi
mov dword [esp + 0x2c], edx
mov edi, dword [esp + 0x18]
jmp dword [ebx*4 + 0x6fef44]
mov dword [esp + 8], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 4], 0
mov edi, dword [edi + 4]
mov esi, ecx
call fcn.0066ffc0
test eax, eax
je 0x670d79
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x670c99
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
mov esi, dword [esp + 8]
je 0x6711b6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov ecx, dword [esp]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov ebp, eax
mov edx, dword [esp + 0x1c]
jmp 0x670ca1
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
jmp 0x672990
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0066ffc0
mov dword [esp + 0xc], eax
test eax, eax
je 0x671177
mov dword [esp + 0x2c], 2
lea eax, [esp + 0x2c]
lea edx, [esp + 0xc]
mov ecx, esi
push eax
call fcn.00672ac0
add esp, 4
jmp 0x6704af
inc ebp
mov dword [ecx], ebp
mov esi, ecx
mov edx, dword [esp + 0x1c]
call fcn.0066d640
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00672900
mov edi, eax
jmp 0x66ffdc
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
je 0x670aa9
cmp byte [eax], 0x5f
jne 0x670aa9
add ebp, 3
mov dword [ecx], ebp
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x20], eax
mov edi, ecx
call fcn.0066ffc0
mov dword [esp + 0x14], eax
test eax, eax
je case.0x6702c6.10
lea eax, [esp + 0x20]
lea esi, [esp + 0x14]
lea edx, [esp + 0xc]
mov ecx, edi
push eax
push esi
call fcn.00673c00
add esp, 8
jmp 0x670d75
mov eax, dword [edi + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
mov dword [esp + 0x20], eax
mov ebx, ecx
call fcn.0066ffc0
mov dword [esp + 0x14], eax
test eax, eax
je case.0x6702c6.10
mov ecx, ebx
call fcn.0066ffc0
mov dword [esp + 0x28], eax
test eax, eax
je 0x6709bb
lea eax, [esp + 0x20]
lea esi, [esp + 0x28]
lea edi, [esp + 0xc]
lea edx, [esp + 0x14]
mov ecx, ebx
push eax
push esi
push edi
call fcn.006737d0
add esp, 0xc
jmp 0x670d75
mov edi, ecx
call fcn.0066ffc0
mov dword [esp + 0xc], eax
test eax, eax
je case.0x6702c6.10
mov ecx, edi
call fcn.0066ffc0
mov dword [esp + 0x20], eax
test eax, eax
je 0x6709bb
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
lea esi, [esp + 0x20]
lea edx, [esp + 0xc]
mov ecx, edi
push eax
push esi
call fcn.00671290
add esp, 8
jmp 0x670d75
mov ebx, ecx
call fcn.0066ffc0
mov dword [esp + 0xc], eax
test eax, eax
je case.0x6702c6.10
mov ecx, ebx
call fcn.0066ffc0
mov dword [esp + 0x20], eax
test eax, eax
je 0x6709bb
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
lea esi, [esp + 0x20]
lea edi, [esp + 0x2c]
lea edx, [esp + 0xc]
mov ecx, ebx
push eax
push esi
push edi
call fcn.00671340
add esp, 0xc
jmp 0x670d75
mov dword [esp + 4], 0
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 8]
sar eax, 2
mov dword [esp + 0x3c], eax
lea esi, [ecx + 0x14]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x38]
mov ebx, edi
mov dword [esp + 0x34], esi
jmp 0x670690
mov esi, ecx
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [esi + 8], eax
test eax, eax
mov ecx, esi
je 0x67119d
mov edx, dword [esp + 8]
mov eax, edx
sar eax, 2
sar edx, 1
lea edi, [ebx + eax*4]
mov dword [ecx + 0xc], edi
lea eax, [ebx + edx*4]
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0x18]
lea eax, [edi + 4]
mov dword [ecx + 0xc], eax
mov dword [edi], ebp
mov edx, dword [ecx]
mov eax, dword [ecx + 4]
cmp edx, eax
je 0x67069d
cmp byte [edx], 0x5f
je 0x670bf3
mov esi, ecx
call fcn.0066ffc0
test eax, eax
je 0x670d79
mov ebp, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
mov ecx, esi
jne 0x670683
mov eax, dword [ecx + 8]
mov edx, edi
sub edx, eax
mov dword [esp + 8], edx
add edx, edx
cmp eax, dword [esp + 0x34]
jne 0x67064d
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6711a7
mov ebx, eax
mov esi, dword [esp + 0x34]
cmp edi, esi
je 0x6706f4
push dword [esp + 8]
push esi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 8], ebx
jmp 0x670668
mov dword [esp + 4], 0
mov esi, ecx
call fcn.0066ffc0
test eax, eax
je 0x670d79
mov ebx, eax
mov eax, dword [esp + 0x18]
movzx edx, byte [eax + 3]
mov ebp, dword [eax + 4]
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x67076d
mov byte [esp + 8], dl
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6711bb
mov dword [eax], edi
mov dword [eax + 4], 0
mov ecx, dword [esp]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov edi, eax
movzx edx, byte [esp + 8]
lea eax, [ecx + 0x20]
mov dword [edi + 4], eax
mov byte [edi + ecx + 0xc], 0x3d
mov eax, dword [edi + ecx + 0x10]
and ebp, 0x3f
and eax, 0xffffffc0
or eax, ebp
mov dword [edi + ecx + 0x10], eax
movzx eax, byte [edi + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [edi + ecx + 0x14], al
mov dword [edi + ecx + 8], 0x6fcb98
mov dword [edi + ecx + 0x18], ebx
mov eax, dword [esp + 0x1c]
mov byte [edi + ecx + 0x1c], al
and dl, 1
mov byte [edi + ecx + 0x1d], dl
jmp 0x670bd0
mov esi, ecx
call fcn.0066ffc0
mov dword [esp + 0x20], eax
test eax, eax
je case.0x6702c6.10
mov dword [esp + 4], 0
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 + 0x1c], eax
mov ecx, esi
mov ebx, dword [esp + 0x18]
jmp 0x67082a
mov esi, ecx
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [esi + 8], eax
test eax, eax
mov ecx, esi
mov esi, dword [esp + 8]
je 0x6711a2
mov eax, esi
sar eax, 2
sar esi, 1
lea edi, [ebx + eax*4]
mov dword [ecx + 0xc], edi
lea eax, [ebx + esi*4]
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0x18]
lea eax, [edi + 4]
mov dword [ecx + 0xc], eax
mov dword [edi], ebp
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x67083a
cmp byte [eax], 0x45
je 0x670d3a
mov esi, ecx
call fcn.0066ffc0
test eax, eax
je 0x670d79
mov ebp, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
mov ecx, esi
jne 0x670822
mov eax, dword [ecx + 8]
mov edx, edi
sub edx, eax
mov dword [esp + 8], edx
add edx, edx
cmp eax, dword [esp + 0x1c]
jne 0x6707ec
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6711ac
mov ebx, eax
mov eax, dword [esp + 0x1c]
cmp edi, eax
mov esi, dword [esp + 8]
je 0x670892
push esi
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 8], ebx
jmp 0x67080b
movzx ebx, byte [ecx + 0x184]
mov byte [ecx + 0x184], 0
mov esi, ecx
call fcn.0066bb40
mov dword [esp + 0x20], eax
mov byte [esi + 0x184], bl
xor edi, edi
test eax, eax
je 0x6710da
mov ecx, esi
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 4], eax
mov eax, dword [esi]
mov edx, dword [esi + 4]
cmp eax, edx
je 0x670bdb
cmp byte [eax], 0x5f
jne 0x670bdb
inc eax
mov dword [ecx], eax
lea esi, [ecx + 0x14]
mov dword [esp + 0x1c], esi
jmp 0x670a39
mov ebx, ecx
call fcn.0066ffc0
mov dword [esp + 0xc], eax
test eax, eax
je case.0x6702c6.10
mov ecx, ebx
call fcn.0066ffc0
mov dword [esp + 0x20], eax
test eax, eax
je 0x6709bb
mov ecx, ebx
call fcn.0066ffc0
mov dword [esp + 0x14], eax
test eax, eax
je 0x6709bb
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
lea esi, [esp + 0x14]
lea edi, [esp + 0x20]
lea edx, [esp + 0xc]
mov ecx, ebx
push eax
push esi
push edi
call fcn.00671650
add esp, 0xc
jmp 0x670d75
mov ebx, ecx
call fcn.0066bb40
mov dword [esp + 0xc], eax
test eax, eax
je case.0x6702c6.10
mov ecx, ebx
call fcn.0066ffc0
mov dword [esp + 0x20], eax
test eax, eax
je 0x6709bb
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
lea esi, [esp + 0x20]
lea edi, [esp + 0xc]
lea edx, [esp + 0x2c]
mov ecx, ebx
push eax
push esi
push edi
call fcn.00671700
add esp, 0xc
jmp 0x670d75
xor eax, eax
jmp 0x670d75
mov dword [esp + 8], esi
mov esi, edx
test byte [edi + 3], 1
jne 0x670b1e
mov dword [esp + 4], 0
call fcn.0066ffc0
jmp 0x670b2b
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
jmp 0x672b70
mov esi, ecx
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [esi + 8], eax
test eax, eax
mov ecx, esi
mov esi, dword [esp + 8]
je 0x670d35
mov eax, esi
sar eax, 2
sar esi, 1
lea edi, [ebx + eax*4]
mov dword [ecx + 0xc], edi
lea eax, [ebx + esi*4]
mov dword [ecx + 0x10], eax
lea eax, [edi + 4]
mov dword [ecx + 0xc], eax
mov dword [edi], ebp
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
xor edi, edi
cmp eax, edx
je 0x670a46
cmp byte [eax], 0x45
je 0x670e9e
mov esi, ecx
call fcn.0066ffc0
test eax, eax
je 0x6710da
mov ebp, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
mov ecx, esi
jne 0x670a2a
mov eax, dword [ecx + 8]
mov edx, edi
sub edx, eax
mov dword [esp + 8], edx
add edx, edx
cmp eax, dword [esp + 0x1c]
jne 0x6709f8
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6711b1
mov ebx, eax
mov eax, dword [esp + 0x1c]
cmp edi, eax
mov esi, dword [esp + 8]
je 0x670a9e
push esi
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 8], ebx
jmp 0x670a17
mov edi, ecx
call fcn.0066ffc0
mov dword [esp + 0xc], eax
test eax, eax
mov eax, dword [esp + 0x18]
je case.0x6702c6.10
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x20], eax
lea eax, [esp + 0x20]
lea esi, [esp + 0x2c]
lea edx, [esp + 0xc]
mov ecx, edi
push eax
push esi
call fcn.006711e0
add esp, 8
jmp 0x670d75
mov dword [esp + 4], 0
jmp 0x670d79
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0066ffc0
mov dword [esp + 0xc], eax
test eax, eax
je 0x671177
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00672e90
jmp 0x6704af
mov dword [esp + 4], 0
call fcn.0066bb40
mov ebx, eax
test eax, eax
mov eax, dword [esp]
je 0x670d79
mov ecx, dword [esp + 0x18]
mov ebp, dword [ecx + 4]
mov edi, dword [eax + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x670b80
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6711c0
mov dword [eax], edi
mov dword [eax + 4], 0
mov ecx, dword [esp]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov edi, eax
lea eax, [ecx + 0x30]
mov dword [edi + 4], eax
mov byte [edi + ecx + 0xc], 0x38
mov eax, dword [edi + ecx + 0x10]
and ebp, 0x3f
and eax, 0xffffffc0
or eax, ebp
mov dword [edi + ecx + 0x10], eax
movzx eax, byte [edi + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [edi + ecx + 0x14], al
mov dword [edi + ecx + 8], 0x6fcda0
mov eax, dword [esp + 8]
mov dword [edi + ecx + 0x1c], eax
mov dword [edi + ecx + 0x18], esi
mov dword [edi + ecx + 0x20], ebx
mov dword [edi + ecx + 0x24], 0
mov dword [edi + ecx + 0x28], 0
lea eax, [edi + ecx]
add eax, 8
jmp 0x670d75
cmp eax, edx
je 0x670ce8
cmp byte [eax], 0x45
jne 0x670ce8
xor ebx, ebx
jmp 0x670ea0
inc edx
mov dword [ecx], edx
mov esi, ecx
mov edx, dword [esp + 0x3c]
call fcn.0066d640
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov ecx, esi
call fcn.0066bb40
mov dword [esp + 0x14], eax
xor edi, edi
test eax, eax
je 0x6710da
mov eax, dword [esi]
mov esi, dword [esi + 4]
mov edx, esi
sub edx, eax
cmp edx, 2
jb 0x670c3b
movzx edx, word [eax]
cmp edx, 0x6970
je 0x670eec
cmp eax, esi
je 0x6710da
cmp byte [eax], 0x45
jne 0x6710da
mov ecx, dword [esp]
mov edx, dword [ecx + 0xc]
sub edx, dword [ecx + 8]
jmp 0x671089
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
cmp dword [esp + 8], ebp
je 0x670d82
cmp byte [ebp], 0x54
jne 0x670d82
mov ecx, esi
call fcn.0066f140
mov dword [esp + 0xc], eax
test eax, eax
je 0x671177
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00672f10
jmp 0x6704af
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 8]
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x3e
mov eax, dword [ebp + ecx + 0x10]
and edi, 0x3f
and eax, 0xffffffc0
or eax, edi
mov dword [ebp + ecx + 0x10], eax
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x6fc98c
mov dword [ebp + ecx + 0x1c], esi
mov dword [ebp + ecx + 0x18], edx
mov dword [ebp + ecx + 0x20], ebx
lea eax, [ecx + ebp]
add eax, 8
jmp 0x670d75
mov esi, ecx
call fcn.0066ffc0
test eax, eax
je 0x6710da
mov ebp, eax
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
mov ecx, esi
jne 0x671035
lea esi, [ecx + 0x14]
mov eax, dword [ecx + 8]
mov edi, ebx
sub edi, eax
lea edx, [edi + edi]
cmp eax, esi
je 0x670ff8
push edx
push eax
mov esi, ecx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
mov ecx, esi
jne 0x671022
call fcn.0049a820
inc eax
mov dword [ecx], eax
mov edi, ecx
mov edx, dword [esp + 0x38]
call fcn.0066d640
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
lea esi, [esp + 0xc]
lea edx, [esp + 0x20]
mov ecx, edi
push eax
push esi
call fcn.006714f0
add esp, 8
mov dword [esp + 4], eax
mov edi, dword [esp + 4]
jmp 0x66ffdc
mov ecx, esi
call 0x672130
mov dword [esp + 0xc], eax
test eax, eax
je 0x671177
jmp 0x670e8e
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
lea edi, [esi + 8]
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 8]
sar ebx, 2
mov eax, dword [esp + 8]
cmp ebp, eax
je 0x670dc0
cmp byte [ebp], 0x45
je 0x670e6b
mov ecx, esi
call fcn.0066d310
mov dword [esp + 0xc], eax
test eax, eax
je 0x671177
mov ecx, edi
lea edx, [esp + 0xc]
call fcn.0066d520
mov ebp, dword [esi]
mov eax, dword [esi + 4]
cmp ebp, eax
jne 0x670db6
jmp 0x670dc0
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0066bb40
mov dword [esp + 0x2c], eax
xor edi, edi
test eax, eax
je 0x66ffdc
lea ebp, [esi + 8]
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 8], eax
lea ebx, [esp + 0xc]
mov ecx, esi
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x670e2c
cmp byte [eax], 0x45
je 0x670fce
call fcn.00672690
mov dword [esp + 0xc], eax
test eax, eax
je 0x66ffdc
mov ecx, ebp
mov edx, ebx
call fcn.0066d520
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x670e23
jmp 0x670e2c
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
mov edx, str.throw
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
jmp 0x673150
inc ebp
mov dword [esi], ebp
mov ecx, esi
mov edx, ebx
call fcn.0066d640
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00673030
mov dword [esp + 0xc], eax
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.00672f90
jmp 0x6704af
mov bl, 1
inc eax
mov dword [ecx], eax
mov edx, dword [esp + 4]
call fcn.0066d640
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
test bl, bl
je 0x67104e
jmp 0x671059
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0066ffc0
mov dword [esp + 0xc], eax
test eax, eax
je 0x671177
lea edx, [esp + 0xc]
mov ecx, esi
call fcn.006731e0
jmp 0x6704af
add eax, 2
mov ecx, dword [esp]
mov dword [ecx], eax
mov edx, dword [ecx + 0xc]
sub edx, dword [ecx + 8]
mov dword [esp + 4], edx
jmp 0x670f45
mov esi, ecx
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [esi + 8], eax
test eax, eax
mov ecx, esi
mov esi, dword [esp + 8]
je 0x6711c5
mov eax, esi
sar eax, 2
sar esi, 1
lea edi, [ebx + eax*4]
mov dword [ecx + 0xc], edi
lea eax, [ebx + esi*4]
mov dword [ecx + 0x10], eax
mov ebx, dword [esp + 0x18]
lea eax, [edi + 4]
mov dword [ecx + 0xc], eax
mov dword [edi], ebp
mov eax, dword [ecx]
mov esi, dword [ecx + 4]
xor edi, edi
cmp eax, esi
je 0x670f52
cmp byte [eax], 0x45
je 0x671085
mov esi, ecx
call fcn.0066ffc0
test eax, eax
je 0x6710da
mov ebp, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
mov ecx, esi
jne 0x670f36
mov eax, dword [ecx + 8]
mov edx, edi
sub edx, eax
mov dword [esp + 8], edx
add edx, edx
cmp eax, dword [esp + 0x34]
jne 0x670f00
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6711ca
mov ebx, eax
mov eax, dword [esp + 0x34]
cmp edi, eax
mov esi, dword [esp + 8]
je 0x670faa
push esi
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 8], ebx
jmp 0x670f1f
xor edx, edx
cmp dword [esp + 0x18], 0
sete dl
mov ecx, dword [esp]
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
jmp 0x673260
inc eax
mov dword [ecx], eax
mov esi, ecx
mov edx, dword [esp + 8]
call fcn.0066d640
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
lea edx, [esp + 0x2c]
mov ecx, esi
push ebx
call fcn.006730c0
add esp, 4
jmp 0x6704af
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6711b1
cmp ebx, esi
je 0x67101c
push edi
push esi
push eax
mov esi, eax
call sub.msvcrt.dll_memcpy
mov eax, esi
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 8], eax
mov edx, edi
sar edx, 2
sar edi, 1
lea ebx, [eax + edx*4]
mov dword [ecx + 0xc], ebx
lea eax, [eax + edi*4]
mov dword [ecx + 0x10], eax
lea eax, [ebx + 4]
mov dword [ecx + 0xc], eax
mov dword [ebx], ebp
mov edx, dword [esp + 4]
call fcn.0066d640
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
xor edi, edi
cmp edx, 1
jne 0x6710da
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
lea esi, [esp + 0xc]
lea edx, [esp + 0x20]
mov ecx, dword [esp]
push eax
push esi
call fcn.006715a0
add esp, 8
jmp 0x6710d8
mov edx, dword [esp + 4]
sar edx, 2
inc eax
mov dword [ecx], eax
mov ebp, ecx
call fcn.0066d640
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
movzx eax, byte [ebx + 3]
and al, 1
mov ecx, dword [ebx + 4]
shl ecx, 0x19
sar ecx, 0x19
mov dword [esp + 0x28], ecx
lea esi, [esp + 0x28]
movzx eax, al
movzx edi, byte [esp + 0x1c]
lea ebx, [esp + 0x20]
lea edx, [esp + 0xc]
mov ecx, ebp
push esi
push eax
push edi
push ebx
lea eax, [esp + 0x24]
push eax
call fcn.00671400
add esp, 0x14
mov edi, eax
mov dword [esp + 4], edi
jmp 0x670d79
inc eax
mov dword [ecx], eax
sar edi, 2
mov ebx, ecx
mov edx, edi
call fcn.0066d640
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], 1
lea eax, [esp + 0x14]
lea esi, [esp + 0xc]
lea edx, [esp + 0x2c]
mov ecx, ebx
push eax
push esi
call fcn.006714f0
add esp, 8
jmp 0x6704af
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x67026d
cmp byte [eax], 0x74
jne 0x67113f
inc eax
mov ecx, dword [esp]
mov dword [ecx], eax
call fcn.0066bb40
jmp 0x671153
cmp byte [eax], 0x7a
jne 0x67026d
inc eax
mov ecx, dword [esp]
mov dword [ecx], eax
call fcn.0066ffc0
mov dword [esp + 0x20], eax
test eax, eax
je 0x671177
mov esi, dword [esp]
lea ecx, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
lea edx, [esp + 0x20]
call fcn.0066d520
mov ecx, esi
jmp 0x6710e6
xor edi, edi
jmp 0x66ffdc
call fcn.0049a820
push 0xa52
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str.starts_with_Res___operator_____operator_name_does_not_start_with_operator_
call dword [sym.imp.msvcrt.dll__assert]
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
call fcn.0049a820
mov byte [esi + 0x184], bl
push eax
call fcn.0050ffb0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov ebx, dword [ecx]
mov ebp, dword [ecx + 4]
xor esi, esi
cmp ebx, ebp
je case.0x6717f7.84
cmp byte [ebx], 0x4c
jne case.0x6717f7.84
mov edi, ecx
lea eax, [ebx + 1]
mov dword [ecx], eax
mov ecx, ebp
sub ecx, eax
je case.0x6717f7.66
movsx edx, byte [eax]
add edx, 0xffffffbf
cmp edx, 0x38
ja case.0x6717f7.66
jmp dword [edx*4 + 0x6fef78]
mov ecx, edi
call fcn.0066bb40
mov dword [esp + 4], eax
xor esi, esi
test eax, eax
je case.0x6717f7.84
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je case.0x6717f7.84
cmp byte [eax], 0x45
jne case.0x6717f7.84
inc eax
mov dword [edi], eax
lea edx, [esp + 4]
mov ecx, edi
call fcn.00674c90
jmp 0x6718e0
mov ecx, edi
call fcn.0066bb40
mov dword [esp + 0xc], eax
test eax, eax
je 0x6720c8
mov esi, dword [edi]
mov eax, dword [edi + 4]
mov edx, esi
cmp esi, eax
je 0x671864
cmp byte [esi], 0x6e
mov edx, esi
jne 0x671864
lea edx, [esi + 1]
mov dword [edi], edx
mov ebx, eax
mov ebp, 0
mov ecx, 0
cmp eax, edx
je 0x6718a4
movsx ecx, byte [edx]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x67189e
nop
movsx ecx, byte [edx]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x671894
inc edx
mov dword [edi], edx
cmp edx, eax
jne 0x671880
mov edx, eax
mov ebp, edx
sub ebp, esi
mov ebx, edx
mov ecx, esi
jmp 0x6718a4
mov ebx, edx
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 8], ebp
mov dword [esp + 4], ecx
test ebp, ebp
je 0x6720c8
cmp ebx, eax
mov esi, 0
je case.0x6717f7.84
cmp byte [ebx], 0x45
jne case.0x6717f7.84
inc ebx
mov dword [edi], ebx
lea eax, [esp + 4]
lea edx, [esp + 0xc]
mov ecx, edi
push eax
call fcn.00675520
add esp, 4
mov esi, eax
jmp case.0x6717f7.84
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.short
push 5
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x6fce48
push 2
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x6fce41
jmp 0x671c35
lea ecx, [ebx + 2]
mov dword [edi], ecx
mov eax, ebp
sub eax, ecx
cmp eax, 9
jb case.0x6717f7.84
mov dword [esp], ecx
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
lea eax, [ebx + 0xa]
mov dword [edi], eax
cmp eax, ebp
je case.0x6717f7.84
cmp byte [eax], 0x45
jne case.0x6717f7.84
add ebx, 0xb
mov dword [edi], ebx
mov ebx, dword [edi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x671a3c
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672129
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x4a
and byte [ebx + ecx + 0x10], 0xc0
lea esi, [ebx + ecx]
add esi, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x6fcf4c
mov eax, dword [esp]
mov dword [ebx + ecx + 0x18], eax
mov dword [ebx + ecx + 0x1c], 8
jmp case.0x6717f7.84
cmp ecx, 2
jb case.0x6717f7.84
movzx eax, word [eax]
cmp eax, 0x6e44
jne case.0x6717f7.84
lea eax, [ebx + 3]
mov dword [edi], eax
cmp eax, ebp
je case.0x6717f7.84
cmp byte [eax], 0x30
jne 0x671aab
add ebx, 4
mov dword [edi], ebx
mov eax, ebx
cmp eax, ebp
je case.0x6717f7.84
cmp byte [eax], 0x45
jne case.0x6717f7.84
inc eax
mov dword [edi], eax
mov ecx, edi
mov edx, str.nullptr
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
jmp 0x674d10
cmp ecx, 2
jb case.0x6717f7.84
movzx eax, word [eax]
cmp eax, 0x5a5f
jne case.0x6717f7.84
add ebx, 3
mov dword [edi], ebx
mov ecx, edi
call fcn.0066af40
test eax, eax
je case.0x6717f7.84
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
je case.0x6717f7.84
cmp byte [ecx], 0x45
jne case.0x6717f7.84
inc ecx
mov dword [edi], ecx
jmp 0x6718e0
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x6fce40
push 0
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x6fce4b
push 3
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.unsigned_short
push 0xe
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.signed_char
push 0xb
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.unsigned_char
push 0xd
jmp 0x672102
cmp ecx, 2
jb case.0x6717f7.84
cmp byte [ebx + 2], 0x6c
jne case.0x6717f7.84
xor esi, esi
mov ecx, edi
xor edx, edx
call fcn.00674da0
mov dword [esp + 4], eax
test eax, eax
je case.0x6717f7.84
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je case.0x6717f7.84
cmp byte [eax], 0x45
jne case.0x6717f7.84
inc eax
mov dword [edi], eax
lea edx, [esp + 4]
mov ecx, edi
call fcn.006754a0
jmp 0x6718e0
cmp ecx, 3
jb case.0x6717f7.84
movzx ecx, word [eax]
xor ecx, 0x3062
movzx edx, byte [eax + 2]
xor edx, 0x45
or dx, cx
je 0x67210c
movzx ecx, word [eax]
xor ecx, 0x3162
movzx eax, byte [eax + 2]
xor eax, 0x45
or ax, cx
jne case.0x6717f7.84
add ebx, 4
mov dword [edi], ebx
mov dword [esp + 4], 1
jmp 0x672119
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.char
push 4
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x6fce43
push 1
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x6fce45
push 2
jmp 0x672102
lea ecx, [ebx + 2]
mov dword [edi], ecx
mov eax, ebp
sub eax, ecx
cmp eax, 0x15
jb case.0x6717f7.84
mov dword [esp], ecx
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 0xa]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 0xb]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0xc]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0xd]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0xe]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0xf]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0x10]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0x11]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0x12]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0x13]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0x14]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0x15]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
lea eax, [ebx + 0x16]
mov dword [edi], eax
cmp eax, ebp
je 0x6720c8
cmp byte [eax], 0x45
mov esi, 0
jne case.0x6717f7.84
add ebx, 0x17
mov dword [edi], ebx
mov ebx, dword [edi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x671e7a
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672129
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x4c
and byte [ebx + ecx + 0x10], 0xc0
lea esi, [ebx + ecx]
add esi, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x6fd02c
mov eax, dword [esp]
mov dword [ebx + ecx + 0x18], eax
mov dword [ebx + ecx + 0x1c], 0x14
jmp case.0x6717f7.84
lea ecx, [ebx + 2]
mov dword [edi], ecx
mov eax, ebp
sub eax, ecx
cmp eax, 0x11
jb case.0x6717f7.84
mov dword [esp], ecx
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 0xa]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je case.0x6717f7.84
movsx eax, byte [ebx + 0xb]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0xc]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0xd]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0xe]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0xf]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0x10]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
movsx eax, byte [ebx + 0x11]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x6720c8
lea eax, [ebx + 0x12]
mov dword [edi], eax
cmp eax, ebp
je 0x6720c8
cmp byte [eax], 0x45
mov esi, 0
jne case.0x6717f7.84
add ebx, 0x13
mov dword [edi], ebx
mov ebx, dword [edi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x67208c
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672129
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x4b
and byte [ebx + ecx + 0x10], 0xc0
lea esi, [ebx + ecx]
add esi, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x6fcfbc
mov eax, dword [esp]
mov dword [ebx + ecx + 0x18], eax
mov dword [ebx + ecx + 0x1c], 0x10
jmp case.0x6717f7.84
xor esi, esi
mov eax, esi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.unsigned___int128
push 0x11
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.__int128
push 8
jmp 0x672102
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.wchar_t
push 7
call fcn.00674b00
add esp, 0x14
jmp 0x6720cf
add ebx, 4
mov dword [edi], ebx
mov dword [esp + 4], 0
lea edx, [esp + 4]
mov ecx, edi
call fcn.00674c10
jmp 0x6718e0
call fcn.0049a820
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
mov edi, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, edi
cmp edx, 3
jae 0x672153
xor eax, eax
cmp edx, 2
je 0x67216b
jmp 0x672353
movzx eax, word [edi]
xor eax, 0x7066
movzx edx, byte [edi + 2]
xor edx, 0x54
or dx, ax
je 0x6722d3
movzx eax, word [edi]
cmp eax, 0x7066
je 0x672255
movzx edx, word [edi]
xor eax, eax
cmp edx, 0x4c66
jne 0x672353
add edi, 2
mov dword [esi], edi
cmp ecx, edi
je 0x672353
movsx edx, byte [edi]
add edx, 0xffffffd0
cmp edx, 9
ja 0x672353
mov ebx, edi
nop dword [eax + eax]
movsx edx, byte [ebx]
add edx, 0xffffffd0
cmp edx, 9
ja 0x6721c4
inc ebx
mov dword [esi], ebx
cmp ebx, ecx
jne 0x6721b0
mov ebx, ecx
cmp ebx, edi
je 0x672353
cmp ebx, ecx
je 0x672353
cmp byte [ebx], 0x70
jne 0x672353
lea edx, [ebx + 1]
mov dword [esi], edx
cmp edx, ecx
je 0x6723e3
cmp byte [edx], 0x72
jne 0x6721f6
add ebx, 2
mov dword [esi], ebx
mov edx, ebx
cmp edx, ecx
je 0x6723e3
cmp byte [edx], 0x56
jne 0x672206
inc edx
mov dword [esi], edx
cmp edx, ecx
je 0x6723e3
cmp byte [edx], 0x4b
jne 0x672216
inc edx
mov dword [esi], edx
cmp ecx, edx
je 0x6723e3
movsx edi, byte [edx]
add edi, 0xffffffd0
xor eax, eax
cmp edi, 9
ja 0x6723ea
mov edi, edx
mov ebx, edx
movsx ebp, byte [ebx]
add ebp, 0xffffffd0
cmp ebp, 9
ja 0x67224a
inc ebx
mov dword [esi], ebx
inc edi
cmp ebx, ecx
jne 0x672233
mov edi, ecx
mov ebx, ecx
mov ebp, edx
sub edi, edx
mov edx, ebx
jmp 0x6723ee
lea edx, [edi + 2]
mov dword [esi], edx
xor eax, eax
cmp edx, ecx
je 0x672353
cmp byte [edx], 0x72
jne 0x672270
add edi, 3
mov dword [esi], edi
mov edx, edi
cmp edx, ecx
je 0x672353
cmp byte [edx], 0x56
jne 0x672280
inc edx
mov dword [esi], edx
cmp edx, ecx
je 0x672353
cmp byte [edx], 0x4b
jne 0x672290
inc edx
mov dword [esi], edx
cmp ecx, edx
je 0x672353
movsx edi, byte [edx]
add edi, 0xffffffd0
xor eax, eax
cmp edi, 9
ja 0x67235b
mov edi, edx
mov ebp, edx
nop dword [eax]
movsx ebx, byte [ebp]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x6722c8
inc ebp
mov dword [esi], ebp
inc edi
cmp ebp, ecx
jne 0x6722b0
mov edi, ecx
mov ebp, ecx
mov ebx, edx
sub edi, edx
mov edx, ebp
jmp 0x67235f
add edi, 3
mov dword [esi], edi
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x672316
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672417
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
mov byte [edi + ecx + 0xc], 7
and byte [edi + ecx + 0x10], 0xc0
lea eax, [edi + ecx]
add eax, 8
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x6fc1e4
mov dword [edi + ecx + 0x18], str.this
mov dword [edi + ecx + 0x1c], 4
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
xor ebx, ebx
cmp edx, ecx
je 0x672353
cmp byte [edx], 0x5f
jne 0x672353
inc edx
mov dword [esi], edx
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x6723a9
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672417
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], 0x3f
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], 0x6fd5ec
mov dword [ebp + ecx + 0x1c], edi
mov dword [ebp + ecx + 0x18], ebx
jmp 0x672353
xor eax, eax
jmp 0x672353
xor edi, edi
xor ebp, ebp
mov dword [esp + 4], edi
mov dword [esp], ebp
cmp edx, ecx
je 0x672353
cmp byte [edx], 0x5f
jne 0x672353
inc edx
mov dword [esi], edx
mov edx, esp
mov ecx, esi
call fcn.00677310
jmp 0x672353
call fcn.0049a820
int3
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
xor edi, edi
cmp eax, ecx
je case.0x67245f.77
cmp byte [eax], 0x66
jne case.0x67245f.77
lea edx, [eax + 1]
mov dword [esi], edx
cmp ecx, edx
je case.0x67245f.77
movsx edx, byte [edx]
xor edi, edi
add edx, 0xffffffb4
cmp edx, 0x26
ja case.0x67245f.77
jmp dword [edx*4 + 0x6ff05c]
mov dl, 1
mov dword [esp + 4], edx
mov dl, 1
mov dword [esp], edx
jmp 0x672499
mov dl, 1
mov dword [esp], edx
mov dword [esp + 4], 0
jmp 0x672499
mov dl, 1
mov dword [esp + 4], edx
jmp 0x672492
mov dword [esp + 4], 0
mov dword [esp], 0
lea edx, [eax + 2]
mov dword [esi], edx
sub ecx, edx
cmp ecx, 2
jb case.0x67245f.77
movzx ecx, byte [eax + 2]
xor edx, edx
mov edi, 0x3d
jmp 0x6724c7
inc ebp
mov edx, ebp
cmp edi, edx
je 0x6724f6
lea ebp, [edx + edi]
shr ebp, 1
lea ebx, [ebp*4]
cmp cl, byte [ebx + ebx*2 + 0x6fc5e0]
jg 0x6724c0
jne 0x6724f0
mov ch, byte [ebx + ebx*2 + 0x6fc5e1]
cmp byte [eax + 3], ch
setg ch
test ch, 1
jne 0x6724c0
mov edi, ebp
cmp edi, edx
jne 0x6724c7
lea edx, [edx + edx*2]
xor edi, edi
cmp cl, byte [edx*4 + 0x6fc5e0]
jne case.0x67245f.77
lea ebp, [edx*4 + 0x6fc5e0]
movzx ecx, byte [eax + 3]
cmp cl, byte [ebp + 1]
jne case.0x67245f.77
add eax, 4
mov dword [esi], eax
movzx eax, byte [ebp + 2]
cmp eax, 2
je 0x67254a
cmp eax, 4
jne case.0x67245f.77
mov ebx, dword [ebp + 8]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
cmp byte [eax + ebx - 1], 0x2a
jne case.0x67245f.77
mov ecx, esi
call fcn.0066ffc0
test eax, eax
je case.0x67245f.77
mov ebx, eax
cmp byte [esp], 0
je 0x672585
mov ecx, esi
call fcn.0066ffc0
test eax, eax
je 0x672666
cmp byte [esp + 4], 0
mov ecx, ebx
cmovne ecx, eax
cmovne eax, ebx
mov dword [esp + 8], eax
mov ebx, ecx
jmp 0x67258d
mov dword [esp + 8], 0
mov dword [esp], ebx
mov edi, dword [ebp + 8]
push edi
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 8
jb 0x67266a
mov ecx, 0x7265706f
xor ecx, dword [edi]
mov edx, 0x726f7461
xor edx, dword [edi + 4]
or edx, ecx
jne 0x67266a
lea ebx, [edi + 8]
mov ebp, eax
add ebp, 0xfffffff8
je 0x6725d7
cmp byte [ebx], 0x20
jne 0x6725d9
add edi, 9
add eax, 0xfffffff7
mov ebx, edi
mov ebp, eax
jmp 0x6725d9
xor ebp, ebp
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x672613
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x67267f
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
lea eax, [ecx + 0x30]
mov dword [edi + 4], eax
mov byte [edi + ecx + 0xc], 0x43
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], 0x6fd658
mov eax, dword [esp]
mov dword [edi + ecx + 0x18], eax
mov eax, dword [esp + 8]
mov dword [edi + ecx + 0x1c], eax
mov dword [edi + ecx + 0x24], ebp
mov dword [edi + ecx + 0x20], ebx
mov eax, dword [esp + 4]
mov byte [edi + ecx + 0x28], al
add edi, ecx
add edi, 8
mov eax, edi
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
jmp case.0x67245f.77
push 0xa52
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str.starts_with_Res___operator_____operator_name_does_not_start_with_operator_
call dword [sym.imp.msvcrt.dll__assert]
call fcn.0049a820
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov ebx, ecx
call fcn.0066bb40
xor ebp, ebp
test eax, eax
je 0x672ab0
mov esi, eax
mov ecx, ebx
call fcn.0066ffc0
test eax, eax
je 0x672ab0
mov dword [esp + 4], eax
mov edi, dword [ebx]
mov ecx, dword [ebx + 4]
mov eax, edi
cmp edi, ecx
je 0x6729d4
cmp byte [edi], 0x6e
mov eax, edi
jne 0x6729d4
lea eax, [edi + 1]
mov dword [ebx], eax
cmp ecx, eax
je 0x672ab0
movsx edx, byte [eax]
add edx, 0xffffffd0
xor ebp, ebp
cmp edx, 9
ja 0x672a11
nop dword [eax]
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x672a04
inc eax
mov dword [ebx], eax
cmp eax, ecx
jne 0x6729f0
mov eax, ecx
mov edx, eax
sub edx, edi
cmp eax, ecx
jne 0x672a1d
jmp 0x672ab0
xor edx, edx
xor edi, edi
cmp eax, ecx
je 0x672ab0
cmp byte [eax], 0x45
jne 0x672ab0
inc eax
mov dword [ebx], eax
mov ebp, dword [ebx + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x672a69
mov dword [esp], edx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672aba
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov ebp, eax
mov edx, dword [esp]
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x41
mov eax, dword [ebp + ecx + 0x10]
and eax, 0xffffffc0
or eax, 2
mov dword [ebp + ecx + 0x10], eax
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x6fd870
mov dword [ebp + ecx + 0x18], esi
mov eax, dword [esp + 4]
mov dword [ebp + ecx + 0x1c], eax
mov dword [ebp + ecx + 0x24], edx
mov dword [ebp + ecx + 0x20], edi
add ebp, ecx
add ebp, 8
mov eax, ebp
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0049a820
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov ebx, ecx
call fcn.0066bb40
xor edi, edi
test eax, eax
je 0x672e7b
mov dword [esp + 0x10], eax
mov ecx, ebx
call fcn.0066ffc0
mov dword [esp + 0x18], eax
test eax, eax
je 0x672e7b
mov edx, dword [ebx]
mov eax, dword [ebx + 4]
mov esi, edx
cmp edx, eax
je 0x672bb6
cmp byte [edx], 0x6e
mov esi, edx
jne 0x672bb6
lea esi, [edx + 1]
mov dword [ebx], esi
xor edi, edi
mov ecx, eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
cmp eax, esi
je 0x672c02
movsx ecx, byte [esi]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x672c0b
nop dword [eax]
movsx ecx, byte [esi]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x672bf4
inc esi
mov dword [ebx], esi
cmp esi, eax
jne 0x672be0
mov esi, eax
mov ecx, esi
sub ecx, edx
mov dword [esp + 8], ecx
mov ecx, esi
mov dword [esp + 4], edx
cmp ecx, eax
jne 0x672c25
jmp 0x672e7b
mov ecx, esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0
cmp ecx, eax
je 0x672e7b
mov edx, dword [ebx + 0xc]
sub edx, dword [ebx + 8]
sar edx, 2
mov dword [esp + 0x14], edx
lea edx, [ebx + 0x14]
mov dword [esp + 0xc], edx
jmp 0x672c9b
mov edx, dword [esp + 0xc]
lea eax, [ebp + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ebp + 0xc], 7
and byte [esi + ebp + 0x10], 0xc0
movzx eax, byte [esi + ebp + 0x14]
and al, 0xc0
or al, 0x15
mov byte [esi + ebp + 0x14], al
mov dword [esi + ebp + 8], 0x6fc1e4
mov dword [esi + ebp + 0x1c], edi
mov eax, dword [esp]
mov dword [esi + ebp + 0x18], eax
mov edi, dword [ebx + 0xc]
cmp edi, dword [ebx + 0x10]
je 0x672d30
lea eax, [esi + ebp]
add eax, 8
lea ecx, [edi + 4]
mov dword [ebx + 0xc], ecx
mov dword [edi], eax
mov ecx, dword [ebx]
mov eax, dword [ebx + 4]
cmp ecx, eax
je 0x672db8
cmp byte [ecx], 0x5f
jne 0x672d9f
inc ecx
mov dword [ebx], ecx
xor edi, edi
cmp eax, ecx
je 0x672ce0
movsx edx, byte [ecx]
add edx, 0xffffffd0
mov esi, 0
cmp edx, 9
ja 0x672ce2
mov edi, ecx
nop
movsx edx, byte [edi]
add edx, 0xffffffd0
cmp edx, 9
ja 0x672cd4
inc edi
mov dword [ebx], edi
cmp edi, eax
jne 0x672cc0
mov edi, eax
sub edi, ecx
mov esi, ecx
jmp 0x672ce2
xor esi, esi
mov dword [esp], esi
mov esi, dword [ebx + 0x1198]
mov ebp, dword [esi + 4]
lea eax, [ebp - 0xfd8]
cmp eax, 0xfffff007
ja 0x672c40
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672e85
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ebp, ebp
mov esi, eax
jmp 0x672c40
mov eax, dword [ebx + 8]
mov ecx, edi
sub ecx, eax
mov dword [esp], ecx
add ecx, ecx
cmp eax, edx
je 0x672d58
push ecx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov edi, eax
mov dword [ebx + 8], eax
test eax, eax
jne 0x672d85
jmp 0x672e85
push ecx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672e85
mov ecx, eax
mov eax, dword [esp + 0xc]
cmp edi, eax
mov edi, ecx
je 0x672d82
push dword [esp]
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [ebx + 8], edi
mov ecx, dword [esp]
mov eax, ecx
sar eax, 2
sar ecx, 1
mov edx, edi
lea edi, [edi + eax*4]
lea eax, [edx + ecx*4]
mov dword [ebx + 0x10], eax
jmp 0x672c80
xor edi, edi
cmp ecx, eax
je 0x672dbf
cmp byte [ecx], 0x70
jne 0x672dbf
inc ecx
mov dword [ebx], ecx
mov dl, 1
cmp ecx, eax
jne 0x672dc9
jmp 0x672e7b
xor edi, edi
jmp 0x672e7b
xor edx, edx
cmp ecx, eax
je 0x672e7b
cmp byte [ecx], 0x45
jne 0x672e7b
mov dword [esp], edx
inc ecx
mov dword [ebx], ecx
mov ecx, ebx
mov edx, dword [esp + 0x14]
call fcn.0066d640
mov edi, eax
mov ebp, edx
mov esi, dword [ebx + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x672e21
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x672e85
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov esi, eax
mov edx, dword [esp + 0x10]
lea eax, [ecx + 0x30]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x37
and byte [esi + ecx + 0x10], 0xc0
movzx eax, byte [esi + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [esi + ecx + 0x14], al
mov dword [esi + ecx + 8], 0x6fd8ec
mov dword [esi + ecx + 0x18], edx
mov eax, dword [esp + 0x18]
mov dword [esi + ecx + 0x1c], eax
mov eax, dword [esp + 8]
mov dword [esi + ecx + 0x24], eax
mov eax, dword [esp + 4]
mov dword [esi + ecx + 0x20], eax
mov dword [esi + ecx + 0x2c], ebp
mov dword [esi + ecx + 0x28], edi
mov eax, dword [esp]
mov byte [esi + ecx + 0x30], al
lea edi, [esi + ecx]
add edi, 8
mov eax, edi
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0049a820
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 0x673192
mov edi, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6731d7
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], 7
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], 0x6fc1e4
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.0049a820
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 0x67327d
cmp edx, 2
je 0x673296
jmp 0x6732a5
movzx edx, word [eax]
xor edx, 0x7273
movzx edi, byte [eax + 2]
xor edi, 0x4e
or di, dx
je 0x673483
movzx edx, word [eax]
cmp edx, 0x7273
je 0x673330
mov ecx, esi
call fcn.00678740
mov ebp, eax
test eax, eax
je 0x6737b5
test bl, bl
je 0x6737b5
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x6732fc
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6737bc
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
mov byte [edi + ecx + 0xc], 0x2a
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], 0x6fdc4c
mov dword [edi + ecx + 0x18], ebp
lea ebp, [edi + ecx]
add ebp, 8
jmp 0x6737b5
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x6735d4
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x6735d4
mov edi, ebx
mov ecx, esi
call fcn.00678680
test eax, eax
je 0x673727
mov ebx, eax
mov eax, edi
xor edi, edi
test al, al
jne 0x6733ca
jmp 0x67354f
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x16
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], 0x6fda9c
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
lea eax, [ecx + ebp]
add eax, 0x1c
mov dword [eax], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x6733b7
cmp byte [eax], 0x45
je 0x673681
mov ecx, esi
call fcn.00678680
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x6737b5
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
test edi, edi
je 0x673411
cmp eax, 0xfffff007
ja 0x673370
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6737bc
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
jmp 0x673370
cmp eax, 0xfffff007
ja 0x673440
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6737bc
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], 0x2a
and byte [ebp + ecx + 0x10], 0xc0
lea edi, [ecx + ebp]
add edi, 8
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x6fdc4c
lea eax, [ecx + ebp]
add eax, 0x18
mov dword [eax], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x6733ae
jmp 0x6733b7
add eax, 3
mov dword [esi], eax
mov ecx, esi
call fcn.00678540
test eax, eax
je 0x673727
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x6736a6
cmp byte [eax], 0x49
jne 0x6736a6
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0066ea00
test eax, eax
je 0x6737b5
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x673500
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6737bc
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], 0x29
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], 0x6fe1a4
jmp 0x673698
mov edi, ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x67353c
cmp byte [eax], 0x45
je 0x673681
mov ecx, esi
call fcn.00678680
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x6737b5
test edi, edi
je 0x67352a
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x673591
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6737bc
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], 0x16
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], 0x6fda9c
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]
jne 0x673533
jmp 0x67353c
mov ecx, esi
call fcn.00678540
test eax, eax
je 0x673727
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x673684
cmp byte [eax], 0x49
jne 0x673684
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0066ea00
test eax, eax
je 0x6737b5
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x67364c
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6737bc
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], 0x29
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], 0x6fe1a4
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
jmp 0x673684
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00678740
test eax, eax
jne 0x673741
jmp 0x673727
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 0x6736b2
cmp byte [eax], 0x45
je 0x67372e
mov ecx, esi
call fcn.00678680
test eax, eax
je 0x673727
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x6736fd
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6737bc
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], 0x16
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], 0x6fda9c
jmp 0x673698
xor ebp, ebp
jmp 0x6737b5
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00678740
mov ebp, 0
test eax, eax
je 0x6737b5
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x673780
mov ebp, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x6737bc
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
mov eax, ebp
lea edx, [ecx + 0x20]
mov dword [ebx + 4], edx
mov byte [ebx + ecx + 0xc], 0x16
and byte [ebx + ecx + 0x10], 0xc0
lea ebp, [ebx + ecx]
add ebp, 8
movzx edx, byte [ebx + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebx + ecx + 0x14], dl
mov dword [ebx + ecx + 8], 0x6fda9c
mov dword [ebx + ecx + 0x18], edi
mov dword [ebx + ecx + 0x1c], eax
mov eax, ebp
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.0049a820
int3