Function at 0x43f480
Capabilities:
Encode data using base64

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x38
mov ebp, dword [ecx]
mov ebx, dword [ecx + 4]
mov dword [esp + 0xc], ebx
sub ebx, ebp
xor eax, eax
cmp ebx, 2
jae 0x43f4a1
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], ecx
push 2
push ebp
push 0x45b079
call sub.msvcrt.dll_strncmp
add esp, 0xc
mov edx, eax
xor edi, edi
test eax, eax
je 0x43f4c0
xor ecx, ecx
jmp 0x43f4d7
add ebp, 2
mov eax, dword [esp]
mov dword [eax], ebp
mov ebx, dword [esp + 0xc]
sub ebx, ebp
mov cl, 1
xor eax, eax
cmp ebx, 2
jb case.0x43f5c4.10
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
movzx ecx, byte [ebp]
mov edx, 0x3d
jmp 0x43f4f7
inc eax
mov edi, eax
cmp edx, edi
je 0x43f526
lea eax, [edi + edx]
shr eax, 1
lea esi, [eax*4]
cmp cl, byte [esi + esi*2 + 0x45b32c]
jg 0x43f4f0
jne 0x43f520
mov ch, byte [esi + esi*2 + 0x45b32d]
cmp byte [ebp + 1], ch
setg ch
test ch, 1
jne 0x43f4f0
mov edx, eax
cmp edx, edi
jne 0x43f4f7
lea eax, [edi + edi*2]
cmp cl, byte [eax*4 + 0x45b32c]
jne 0x43f67d
lea ecx, [eax*4 + 0x45b32c]
movzx eax, byte [ebp + 1]
cmp al, byte [ecx + 1]
jne 0x43f67d
lea ebx, [ebp + 2]
mov eax, dword [esp]
mov dword [eax], ebx
movzx edi, byte [ecx + 2]
mov dword [esp + 0x14], ecx
mov esi, dword [ecx + 8]
push esi
call sub.msvcrt.dll_strlen
mov ecx, edi
add esp, 4
mov edi, eax
mov edx, esi
cmp ecx, 0xa
ja case.default.0x43f5c4
mov dword [esp + 0x24], ecx
cmp edi, 8
jb 0x4405a0
push 8
push esi
push 0x45b130
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x4405a0
cmp edi, 8
mov edx, 8
cmovb edx, edi
add edx, esi
cmp edi, 9
mov ecx, dword [esp + 0x24]
jb case.default.0x43f5c4
xor eax, eax
cmp byte [edx], 0x20
sete al
add edx, eax
add esi, edi
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], esi
xor eax, eax
mov edi, esi
jmp dword [ecx*4 + 0x45dd60]
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 4]
mov ecx, dword [esp]
mov ebp, edx
call fcn.0043f480
mov ebx, eax
xor eax, eax
test ebx, ebx
je case.0x43f5c4.10
mov dword [esp + 0xc], edi
mov eax, dword [esp]
mov edi, dword [eax + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x43f630
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4405d3
mov dword [eax], edi
mov dword [eax + 4], 0
mov ecx, dword [esp]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov edx, ebp
lea eax, [ecx + 0x20]
mov dword [edi + 4], eax
mov byte [edi + ecx + 0xc], 0x3e
mov eax, dword [edi + ecx + 0x10]
and esi, 0x3f
and eax, 0xffffffc0
or eax, esi
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], 0x45b6d8
mov eax, dword [esp + 0xc]
mov dword [edi + ecx + 0x1c], eax
mov dword [edi + ecx + 0x18], ebp
mov dword [edi + ecx + 0x20], ebx
lea eax, [edi + ecx]
add eax, 8
jmp case.0x43f5c4.10
movzx esi, byte [ebp]
cmp esi, 0x66
mov ecx, dword [esp]
je 0x43f6ab
cmp esi, 0x54
je 0x43f69f
cmp esi, 0x4c
jne 0x43f6e0
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x440be0
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0043e630
movzx eax, byte [ebp + 1]
cmp al, 0x70
je 0x43f6d4
cmp al, 0x4c
jne 0x43f873
cmp ebx, 3
jb 0x43f873
movsx eax, byte [ebp + 2]
add eax, 0xffffffd0
cmp eax, 9
ja 0x43f873
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x441590
push 2
push ebp
push 0x45b07f
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43f87f
push 2
push ebp
push 0x45b082
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43f93c
push 2
push ebp
push 0x45b085
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43f950
push 2
push ebp
push 0x45b092
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43fe9b
push 2
push ebp
push 0x45b095
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43ff8a
push 2
push ebp
push 0x45b098
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x440100
push 2
push ebp
push 0x45b0a6
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4401f4
push 2
push ebp
push 0x45b0a9
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x440243
push 2
push ebp
push 0x45b0ac
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4402a6
push 2
push ebp
push 0x45b0b5
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x440315
cmp ebp, dword [esp + 0xc]
je 0x4403e2
mov eax, esi
cmp al, 0x75
jne 0x4403e2
inc ebp
mov ecx, dword [esp]
mov dword [ecx], ebp
call fcn.0043da30
mov dword [esp + 0x2c], eax
test eax, eax
je 0x440594
mov edi, eax
mov eax, dword [eax]
mov ebx, dword [eax + 0x18]
mov ecx, ebx
call dword [section..00cfg]
mov ecx, edi
call ebx
sub edx, eax
cmp edx, 8
jne 0x43f82d
push 8
push str.__uuidof
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x44053c
mov ecx, dword [esp]
lea ebx, [ecx + 8]
mov edi, dword [ecx + 0xc]
sub edi, dword [ecx + 8]
lea ebp, [esp + 4]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x43f84d
cmp byte [eax], 0x45
je 0x44050a
call fcn.0043c820
mov dword [esp + 4], eax
test eax, eax
je 0x440594
mov ecx, ebx
mov edx, ebp
call fcn.0043ca10
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x43f844
jmp 0x43f84d
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x441890
add ebp, 2
mov edi, dword [esp]
mov dword [edi], ebp
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
sar eax, 2
mov dword [esp + 0x14], eax
lea eax, [edi + 0x14]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc]
jmp 0x43f8db
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebp, eax
mov dword [edi + 8], eax
test eax, eax
je 0x44059b
lea eax, [esi + ebp]
sar esi, 1
mov dword [edi + 0xc], eax
lea edx, [esi*4]
add edx, ebp
mov dword [edi + 0x10], edx
mov esi, eax
lea eax, [esi + 4]
mov dword [edi + 0xc], eax
mov dword [esi], ebx
mov ebp, dword [edi]
mov eax, dword [edi + 4]
cmp ebp, eax
je 0x43f8e9
cmp byte [ebp], 0x45
je 0x43f98b
mov ecx, edi
call fcn.00441b20
test eax, eax
je 0x440594
mov ebx, eax
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jne 0x43f8ce
mov eax, dword [edi + 8]
sub esi, eax
lea edx, [esi + esi]
cmp eax, dword [esp + 0x20]
jne 0x43f8a1
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4405b5
mov ebp, eax
push esi
push dword [esp + 0x24]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [esp]
mov dword [edi + 8], ebp
jmp 0x43f8b8
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x441e20
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0043f480
mov dword [esp + 4], eax
test eax, eax
je 0x440594
mov dword [esp + 0x2c], 2
lea eax, [esp + 0x2c]
lea edx, [esp + 4]
mov ecx, esi
push eax
call fcn.00441f50
add esp, 4
jmp case.0x43f5c4.10
inc ebp
mov dword [edi], ebp
mov ecx, edi
mov edx, dword [esp + 0x14]
call fcn.0043cb20
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [esp + 4]
mov ecx, edi
call fcn.00441d90
jmp case.0x43f5c4.10
cmp ebx, dword [esp + 0xc]
je 0x43ff46
cmp byte [ebx], 0x5f
jne 0x43ff46
mov ecx, edi
add ebp, 3
mov edi, dword [esp]
mov dword [edi], ebp
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x18], eax
mov ecx, edi
call fcn.0043f480
mov dword [esp + 0x10], eax
test eax, eax
je 0x440594
lea eax, [esp + 0x18]
lea esi, [esp + 0x10]
lea edx, [esp + 4]
mov ecx, edi
push eax
push esi
call fcn.004430b0
add esp, 8
jmp case.0x43f5c4.10
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0x18], eax
mov ebx, dword [esp]
mov ecx, ebx
call fcn.0043f480
mov dword [esp + 0x10], eax
test eax, eax
je 0x440594
mov ecx, ebx
call fcn.0043f480
mov dword [esp + 0x28], eax
test eax, eax
je 0x440594
lea eax, [esp + 0x18]
lea esi, [esp + 0x28]
lea edi, [esp + 4]
lea edx, [esp + 0x10]
mov ecx, ebx
push eax
push esi
push edi
call fcn.00442c70
add esp, 0xc
jmp case.0x43f5c4.10
mov edi, dword [esp]
mov ecx, edi
call fcn.0043f480
mov dword [esp + 4], eax
test eax, eax
je 0x440594
mov ecx, edi
call fcn.0043f480
mov dword [esp + 0x18], eax
test eax, eax
je 0x440594
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
lea esi, [esp + 0x18]
lea edx, [esp + 4]
mov ecx, edi
push eax
push esi
call fcn.004406b0
add esp, 8
jmp case.0x43f5c4.10
mov ebx, dword [esp]
mov ecx, ebx
call fcn.0043f480
mov dword [esp + 4], eax
test eax, eax
je 0x440594
mov ecx, ebx
call fcn.0043f480
mov dword [esp + 0x18], eax
test eax, eax
je 0x440594
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
lea esi, [esp + 0x18]
lea edi, [esp + 0x2c]
lea edx, [esp + 4]
mov ecx, ebx
push eax
push esi
push edi
call fcn.00440760
add esp, 0xc
jmp case.0x43f5c4.10
mov edi, dword [esp]
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
sar eax, 2
mov dword [esp + 0x34], eax
lea eax, [edi + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xc]
jmp 0x43fb7f
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [edi + 8], eax
test eax, eax
je 0x4405ba
lea eax, [ebx + esi]
sar esi, 1
mov dword [edi + 0xc], eax
lea edx, [ebx + esi*4]
mov dword [edi + 0x10], edx
mov esi, eax
lea eax, [esi + 4]
mov dword [edi + 0xc], eax
mov dword [esi], ebp
mov ebx, dword [edi]
mov eax, dword [edi + 4]
cmp ebx, eax
je 0x43fb8c
cmp byte [ebx], 0x5f
je 0x44008c
mov ecx, edi
call fcn.0043f480
test eax, eax
je 0x440594
mov ebp, eax
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jne 0x43fb72
mov eax, dword [edi + 8]
sub esi, eax
lea edx, [esi + esi]
cmp eax, dword [esp + 0x24]
jne 0x43fb4b
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4405c4
mov ebx, eax
push esi
push dword [esp + 0x28]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [esp]
mov dword [edi + 8], ebx
jmp 0x43fb62
mov ecx, dword [esp]
call fcn.0043f480
mov ebx, eax
xor eax, eax
test ebx, ebx
je case.0x43f5c4.10
mov eax, dword [esp + 0x14]
movzx edx, byte [eax + 3]
mov edi, dword [eax + 4]
mov eax, dword [esp]
mov esi, dword [eax + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x43fc48
mov byte [esp + 0xc], dl
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4405d8
mov dword [eax], esi
mov dword [eax + 4], 0
mov ecx, dword [esp]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov esi, eax
movzx edx, byte [esp + 0xc]
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x3d
mov eax, dword [esi + ecx + 0x10]
and edi, 0x3f
and eax, 0xffffffc0
or eax, edi
mov dword [esi + ecx + 0x10], eax
movzx eax, byte [esi + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [esi + ecx + 0x14], al
mov dword [esi + ecx + 8], 0x45b8e4
mov dword [esi + ecx + 0x18], ebx
mov eax, dword [esp + 0x20]
mov byte [esi + ecx + 0x1c], al
and dl, 1
mov byte [esi + ecx + 0x1d], dl
lea eax, [esi + ecx]
add eax, 8
jmp case.0x43f5c4.10
mov esi, dword [esp]
mov ecx, esi
call fcn.0043f480
mov dword [esp + 0x18], eax
test eax, eax
je 0x440594
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x20], eax
lea eax, [esi + 0x14]
mov dword [esp + 0xc], eax
jmp 0x43fcf1
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [esi + 8], eax
test eax, eax
je 0x4405bf
lea eax, [ebx + edi]
sar edi, 1
mov dword [esi + 0xc], eax
lea edx, [ebx + edi*4]
mov dword [esi + 0x10], edx
mov edi, eax
lea eax, [edi + 4]
mov dword [esi + 0xc], eax
mov dword [edi], ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x43fd01
cmp byte [eax], 0x45
je 0x440196
mov ecx, esi
call fcn.0043f480
test eax, eax
je 0x440594
mov ebp, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x43fce9
mov eax, dword [esi + 8]
sub edi, eax
lea edx, [edi + edi]
cmp eax, dword [esp + 0xc]
jne 0x43fcc2
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4405c9
mov ebx, eax
push edi
push dword [esp + 0x10]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, dword [esp]
mov dword [esi + 8], ebx
jmp 0x43fcd9
mov esi, dword [esp]
movzx ebx, byte [esi + 0x184]
mov byte [esi + 0x184], 0
mov ecx, esi
call fcn.0043b080
mov dword [esp + 0x18], eax
mov byte [esi + 0x184], bl
test eax, eax
je 0x440594
mov ecx, esi
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x20], eax
mov eax, dword [esi]
mov edx, dword [esi + 4]
cmp eax, edx
je 0x440074
cmp byte [eax], 0x5f
jne 0x440074
inc eax
mov dword [ecx], eax
lea esi, [ecx + 0x14]
mov dword [esp + 0xc], esi
jmp 0x43fee7
mov ebx, dword [esp]
mov ecx, ebx
call fcn.0043f480
mov dword [esp + 4], eax
test eax, eax
je 0x440594
mov ecx, ebx
call fcn.0043f480
mov dword [esp + 0x18], eax
test eax, eax
je 0x440594
mov ecx, ebx
call fcn.0043f480
mov dword [esp + 0x10], eax
test eax, eax
je 0x440594
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x28], eax
lea eax, [esp + 0x28]
lea esi, [esp + 0x10]
lea edi, [esp + 0x18]
lea edx, [esp + 4]
mov ecx, ebx
push eax
push esi
push edi
call fcn.00440a70
add esp, 0xc
jmp case.0x43f5c4.10
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x442000
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 0x440191
lea eax, [ebx + edi]
sar edi, 1
mov dword [ecx + 0xc], eax
lea edx, [ebx + edi*4]
mov dword [ecx + 0x10], edx
mov edi, eax
lea eax, [edi + 4]
mov dword [ecx + 0xc], eax
mov dword [edi], ebp
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
cmp eax, edx
je 0x43fef4
cmp byte [eax], 0x45
je 0x4402f2
mov esi, ecx
call fcn.0043f480
test eax, eax
je 0x440594
mov ebp, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
mov ecx, esi
jne 0x43feda
mov eax, dword [ecx + 8]
sub edi, eax
lea edx, [edi + edi]
cmp eax, dword [esp + 0xc]
jne 0x43feaf
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4405ce
mov ebx, eax
push edi
push dword [esp + 0x10]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 8], ebx
jmp 0x43feca
mov edi, dword [esp]
mov ecx, edi
call fcn.0043f480
mov dword [esp + 4], eax
test eax, eax
je 0x440594
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x18], eax
lea eax, [esp + 0x18]
lea esi, [esp + 0x2c]
lea edx, [esp + 4]
mov ecx, edi
push eax
push esi
call fcn.00440600
add esp, 8
jmp case.0x43f5c4.10
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0043f480
mov dword [esp + 4], eax
test eax, eax
je 0x440594
lea edx, [esp + 4]
mov ecx, esi
call fcn.00442320
jmp case.0x43f5c4.10
cmp eax, edx
je 0x44013f
cmp byte [eax], 0x45
jne 0x44013f
xor ebx, ebx
jmp 0x4402f4
inc ebx
mov dword [edi], ebx
mov ecx, edi
mov edx, dword [esp + 0x34]
call fcn.0043cb20
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov ecx, edi
call fcn.0043b080
mov dword [esp + 0x10], eax
test eax, eax
je 0x440594
mov esi, dword [edi]
mov ebx, dword [edi + 4]
mov eax, ebx
sub eax, esi
cmp eax, 2
jb 0x4400df
push 2
push esi
push 0x45b07c
call sub.msvcrt.dll_strncmp
mov edi, dword [esp + 0xc]
add esp, 0xc
test eax, eax
je 0x440340
cmp esi, ebx
je 0x440594
cmp byte [esi], 0x45
mov eax, 0
jne case.0x43f5c4.10
mov edx, dword [edi + 0xc]
sub edx, dword [edi + 8]
jmp 0x4404b0
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
cmp dword [esp + 0xc], ebp
je 0x4401dc
cmp byte [ebp], 0x54
jne 0x4401dc
mov ecx, esi
call fcn.0043e630
mov dword [esp + 4], eax
test eax, eax
je 0x440594
lea edx, [esp + 4]
mov ecx, esi
call fcn.004423a0
jmp case.0x43f5c4.10
mov edi, ecx
call fcn.0043f480
mov ebp, eax
test eax, eax
mov eax, 0
je case.0x43f5c4.10
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
mov ecx, edi
jne 0x440459
lea edi, [ecx + 0x14]
mov eax, dword [ecx + 8]
sub esi, eax
lea edx, [esi + esi]
cmp eax, edi
je 0x440423
mov ebx, ecx
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov edi, eax
mov dword [ebx + 8], eax
test eax, eax
mov ecx, ebx
jne 0x440449
call fcn.004068f0
inc eax
mov dword [esi], eax
mov ecx, esi
mov edi, esi
mov edx, dword [esp + 0x20]
call fcn.0043cb20
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
lea esi, [esp + 4]
lea edx, [esp + 0x18]
mov ecx, edi
push eax
push esi
call fcn.00440910
add esp, 8
jmp case.0x43f5c4.10
mov ecx, esi
call 0x441590
mov dword [esp + 4], eax
test eax, eax
je 0x440594
jmp 0x4402e2
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 + 0xc]
cmp ebp, eax
je 0x44021a
cmp byte [ebp], 0x45
je 0x4402bf
mov ecx, esi
call fcn.0043c820
mov dword [esp + 4], eax
test eax, eax
je 0x440594
mov ecx, edi
lea edx, [esp + 4]
call fcn.0043ca10
mov ebp, dword [esi]
mov eax, dword [esi + 4]
cmp ebp, eax
jne 0x440210
jmp 0x44021a
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0043b080
mov dword [esp + 0x2c], eax
test eax, eax
je 0x440594
lea ebp, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 2
lea ebx, [esp + 4]
mov ecx, esi
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x440280
cmp byte [eax], 0x45
je 0x4403fb
call fcn.00441b20
mov dword [esp + 4], eax
test eax, eax
je 0x440594
mov ecx, ebp
mov edx, ebx
call fcn.0043ca10
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x440277
jmp 0x440280
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
mov edx, str.throw
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4425e0
inc ebp
mov dword [esi], ebp
mov ecx, esi
mov edx, ebx
call fcn.0043cb20
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [esp + 4]
mov ecx, esi
call fcn.004424c0
mov dword [esp + 4], eax
lea edx, [esp + 4]
mov ecx, esi
call fcn.00442420
jmp case.0x43f5c4.10
mov bl, 1
inc eax
mov dword [ecx], eax
mov edx, dword [esp + 0x20]
call fcn.0043cb20
mov dword [esp + 8], edx
mov dword [esp + 4], eax
test bl, bl
je 0x440472
jmp 0x44047d
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0043f480
mov dword [esp + 4], eax
test eax, eax
je 0x440594
lea edx, [esp + 4]
mov ecx, esi
call fcn.00442670
jmp case.0x43f5c4.10
add esi, 2
mov dword [edi], esi
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
mov dword [esp + 0xc], eax
jmp 0x440385
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [edi + 8], eax
test eax, eax
je 0x4405e2
lea eax, [ebx + esi]
sar esi, 1
mov dword [edi + 0xc], eax
lea edx, [ebx + esi*4]
mov dword [edi + 0x10], edx
mov esi, eax
lea eax, [esi + 4]
mov dword [edi + 0xc], eax
mov dword [esi], ebp
mov esi, dword [edi]
mov ebx, dword [edi + 4]
cmp esi, ebx
je 0x440392
cmp byte [esi], 0x45
je 0x4404ac
mov ecx, edi
call fcn.0043f480
test eax, eax
je 0x440594
mov ebp, eax
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jne 0x440378
mov eax, dword [edi + 8]
sub esi, eax
lea edx, [esi + esi]
cmp eax, dword [esp + 0x24]
jne 0x440351
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4405e7
mov ebx, eax
push esi
push dword [esp + 0x28]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [esp]
mov dword [edi + 8], ebx
jmp 0x440368
xor edx, edx
cmp dword [esp + 0x14], 0
sete dl
mov ecx, dword [esp]
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4426f0
inc eax
mov dword [ecx], eax
mov esi, ecx
mov edx, edi
call fcn.0043cb20
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [esp + 0x2c]
mov ecx, esi
push ebx
call fcn.00442550
add esp, 4
jmp case.0x43f5c4.10
mov ebx, edi
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4405ce
mov edi, eax
push esi
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp]
mov dword [ecx + 8], edi
lea eax, [edi + esi]
sar esi, 1
mov dword [ecx + 0xc], eax
lea edx, [edi + esi*4]
mov dword [ecx + 0x10], edx
mov esi, eax
lea eax, [esi + 4]
mov dword [ecx + 0xc], eax
mov dword [esi], ebp
mov edx, dword [esp + 0x20]
call fcn.0043cb20
mov dword [esp + 8], edx
mov dword [esp + 4], eax
xor eax, eax
cmp edx, 1
jne case.0x43f5c4.10
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x10], eax
lea eax, [esp + 0x10]
lea esi, [esp + 4]
lea edx, [esp + 0x18]
mov ecx, dword [esp]
push eax
push esi
call fcn.004409c0
add esp, 8
jmp case.0x43f5c4.10
mov edx, dword [esp + 0xc]
sar edx, 2
inc esi
mov dword [edi], esi
mov ecx, edi
mov ebp, edi
call fcn.0043cb20
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
movzx eax, byte [ecx + 3]
and al, 1
mov ecx, dword [ecx + 4]
shl ecx, 0x19
sar ecx, 0x19
mov dword [esp + 0x28], ecx
lea esi, [esp + 0x28]
movzx eax, al
movzx edi, byte [esp + 0x20]
lea ebx, [esp + 0x18]
lea edx, [esp + 4]
mov ecx, ebp
push esi
push eax
push edi
push ebx
lea eax, [esp + 0x20]
push eax
call fcn.00440820
add esp, 0x14
jmp case.0x43f5c4.10
inc eax
mov dword [ecx], eax
sar edi, 2
mov ebx, ecx
mov edx, edi
call fcn.0043cb20
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp + 0x10], 1
lea eax, [esp + 0x10]
lea esi, [esp + 4]
lea edx, [esp + 0x2c]
mov ecx, ebx
jmp 0x4401cd
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x43f82d
cmp byte [eax], 0x74
jne 0x44055c
inc eax
mov ecx, dword [esp]
mov dword [ecx], eax
call fcn.0043b080
jmp 0x440570
cmp byte [eax], 0x7a
jne 0x43f82d
inc eax
mov ecx, dword [esp]
mov dword [ecx], eax
call fcn.0043f480
mov dword [esp + 0x18], eax
test eax, eax
je 0x440594
mov esi, dword [esp]
lea ecx, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
lea edx, [esp + 0x18]
call fcn.0043ca10
mov ecx, esi
jmp 0x44050d
xor eax, eax
jmp case.0x43f5c4.10
call fcn.004068f0
push 0xa47
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str.Res.startsWith__operator_____operator_name_does_not_start_with_operator_
call dword [sym.imp.msvcrt.dll__assert]
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
call fcn.004068f0
mov byte [esi + 0x184], bl
push eax
call fcn.0042c310
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov ebx, dword [ecx]
mov ebp, dword [ecx + 4]
xor edx, edx
cmp ebx, ebp
je case.0x440c17.84
cmp byte [ebx], 0x4c
jne case.0x440c17.84
mov edi, ecx
lea esi, [ebx + 1]
mov dword [ecx], esi
mov eax, ebp
sub eax, esi
je case.0x440c17.66
movsx ecx, byte [esi]
add ecx, 0xffffffbf
cmp ecx, 0x38
ja case.0x440c17.66
jmp dword [ecx*4 + 0x45dd94]
mov ecx, edi
call fcn.0043b080
mov dword [esp + 4], eax
xor edx, edx
test eax, eax
je case.0x440c17.84
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je case.0x440c17.84
cmp byte [eax], 0x45
jne case.0x440c17.84
inc eax
mov dword [edi], eax
lea edx, [esp + 4]
mov ecx, edi
call fcn.00444150
jmp 0x440cfa
mov ecx, edi
call fcn.0043b080
mov dword [esp + 0xc], eax
test eax, eax
je 0x44151b
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov eax, edx
cmp edx, ecx
je 0x440c84
cmp byte [edx], 0x6e
mov eax, edx
jne 0x440c84
lea eax, [edx + 1]
mov dword [edi], eax
cmp ecx, eax
je 0x440cb8
movsx ebx, byte [eax]
add ebx, 0xffffffd0
xor esi, esi
cmp ebx, 9
ja 0x440cbc
nop word cs:[eax + eax]
movsx esi, byte [eax]
add esi, 0xffffffd0
cmp esi, 9
ja 0x440cb4
inc eax
mov dword [edi], eax
cmp eax, ecx
jne 0x440ca0
mov eax, ecx
mov esi, eax
jmp 0x440cbe
mov eax, ecx
xor esi, esi
xor edx, edx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
cmp esi, edx
je 0x44151b
cmp eax, ecx
mov edx, 0
je case.0x440c17.84
cmp byte [eax], 0x45
jne case.0x440c17.84
inc eax
mov dword [edi], eax
lea eax, [esp + 4]
lea edx, [esp + 0xc]
mov ecx, edi
push eax
call fcn.004449d0
add esp, 4
mov edx, eax
jmp case.0x440c17.84
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.short
push 0x45bb84
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x45bb9c
push 0x45bb9e
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x45bb95
push 0x45bb96
jmp 0x44155e
lea esi, [ebx + 2]
mov dword [edi], esi
mov eax, ebp
sub eax, esi
cmp eax, 9
jb case.0x440c17.84
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
mov dword [esp], esi
lea eax, [ebx + 0xa]
mov dword [edi], eax
cmp eax, ebp
je 0x44151b
cmp byte [eax], 0x45
mov edx, 0
jne case.0x440c17.84
mov ebp, eax
add ebx, 0xb
mov dword [edi], ebx
mov esi, dword [edi + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x440e68
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441585
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x4a
and byte [esi + ecx + 0x10], 0xc0
lea edx, [esi + ecx]
add edx, 8
movzx eax, byte [esi + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [esi + ecx + 0x14], al
mov dword [esi + ecx + 8], 0x45bca4
mov eax, dword [esp]
mov dword [esi + ecx + 0x18], eax
mov dword [esi + ecx + 0x1c], ebp
jmp case.0x440c17.84
cmp eax, 2
jb case.0x440c17.84
push 2
push esi
push 0x45bbbe
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x44151b
lea eax, [ebx + 3]
mov dword [edi], eax
cmp eax, ebp
mov edx, 0
je case.0x440c17.84
cmp byte [eax], 0x30
jne 0x440ee2
add ebx, 4
mov dword [edi], ebx
mov eax, ebx
cmp eax, ebp
je case.0x440c17.84
cmp byte [eax], 0x45
jne case.0x440c17.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 0x4441d0
cmp eax, 2
jb case.0x440c17.84
push 2
push esi
push 0x45ac3c
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x44151b
add ebx, 3
mov dword [edi], ebx
mov ecx, edi
call fcn.0043a4d0
test eax, eax
je 0x44151b
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
mov edx, 0
je case.0x440c17.84
cmp byte [ecx], 0x45
jne case.0x440c17.84
inc ecx
mov dword [edi], ecx
jmp 0x440cfa
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x45bb94
push 0x45bb94
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x45bb9f
push 0x45bba2
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.unsigned_short
push 0x45bb93
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.signed_char
push 0x45bb70
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.unsigned_char
push 0x45bb7e
jmp 0x44155e
cmp eax, 2
jb case.0x440c17.84
cmp byte [ebx + 2], 0x6c
jne case.0x440c17.84
mov ecx, edi
xor edx, edx
call fcn.00444260
mov dword [esp + 4], eax
test eax, eax
je 0x44151b
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x44151b
cmp byte [eax], 0x45
mov edx, 0
jne case.0x440c17.84
inc eax
mov dword [edi], eax
lea edx, [esp + 4]
mov ecx, edi
call fcn.00444950
jmp 0x440cfa
cmp eax, 3
jb case.0x440c17.84
push 3
push esi
push 0x45bb58
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x441568
push 3
push esi
push 0x45bb5c
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
mov edx, 0
jne case.0x440c17.84
add ebx, 4
mov dword [edi], ebx
mov dword [esp + 4], 1
jmp 0x441575
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.char
push 0x45bb64
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x45bb97
push 0x45bb98
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x45bb99
push 0x45bb9b
jmp 0x44155e
lea esi, [ebx + 2]
mov dword [edi], esi
mov eax, ebp
sub eax, esi
cmp eax, 0x15
jb case.0x440c17.84
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xa]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xb]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xc]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xd]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xe]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xf]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0x10]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0x11]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0x12]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0x13]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0x14]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0x15]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
lea eax, [ebx + 0x16]
mov dword [edi], eax
mov dword [esp], eax
cmp eax, ebp
je 0x44151b
mov eax, dword [esp]
cmp byte [eax], 0x45
mov edx, 0
jne case.0x440c17.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 0x4412e1
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441585
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 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], 0x45bd84
jmp 0x44150e
lea esi, [ebx + 2]
mov dword [edi], esi
mov eax, ebp
sub eax, esi
cmp eax, 0x11
jb case.0x440c17.84
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xa]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xb]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xc]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xd]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xe]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0xf]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0x10]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
movsx eax, byte [ebx + 0x11]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x44151b
lea eax, [ebx + 0x12]
mov dword [edi], eax
mov dword [esp], eax
cmp eax, ebp
je 0x44151b
mov eax, dword [esp]
cmp byte [eax], 0x45
mov edx, 0
jne case.0x440c17.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 0x4414e3
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441585
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 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], 0x45bd14
mov dword [ebx + ecx + 0x18], esi
mov eax, dword [esp]
mov dword [ebx + ecx + 0x1c], eax
jmp case.0x440c17.84
xor edx, edx
mov eax, edx
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 0x45bbbd
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.__int128
push 0x45bbab
jmp 0x44155e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.wchar_t
push 0x45bb57
call fcn.00443fc0
add esp, 0x14
jmp 0x441522
add ebx, 4
mov dword [edi], ebx
mov dword [esp + 4], 0
lea edx, [esp + 4]
mov ecx, edi
call fcn.004440d0
jmp 0x440cfa
call fcn.004068f0
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
mov ebx, dword [ecx]
mov edi, dword [ecx + 4]
mov ecx, edi
sub ecx, ebx
cmp ecx, 3
jae 0x4415b3
xor eax, eax
cmp ecx, 2
je 0x4415cb
jmp 0x4417bd
push 3
push ebx
push 0x45c34c
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x44173d
push 2
push ebx
push 0x45c355
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4416be
push 2
push ebx
push 0x45c358
call sub.msvcrt.dll_strncmp
add esp, 0xc
mov ecx, eax
xor eax, eax
test ecx, ecx
jne 0x4417bd
add ebx, 2
mov dword [esi], ebx
cmp edi, ebx
je 0x4417bd
movsx ecx, byte [ebx]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4417bd
mov edx, ebx
nop dword [eax]
movsx ecx, byte [edx]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x441634
inc edx
mov dword [esi], edx
cmp edx, edi
jne 0x441620
mov edx, edi
cmp ebx, edx
je 0x4417bd
cmp edx, edi
je 0x4417bd
cmp byte [edx], 0x70
jne 0x4417bd
lea ecx, [edx + 1]
mov dword [esi], ecx
cmp ecx, edi
je 0x44184d
cmp byte [ecx], 0x72
jne 0x441666
add edx, 2
mov dword [esi], edx
mov ecx, edx
cmp ecx, edi
je 0x44184d
cmp byte [ecx], 0x56
jne 0x441676
inc ecx
mov dword [esi], ecx
cmp ecx, edi
je 0x44184d
cmp byte [ecx], 0x4b
jne 0x441686
inc ecx
mov dword [esi], ecx
cmp edi, ecx
je 0x44184d
movsx edx, byte [ecx]
add edx, 0xffffffd0
xor eax, eax
cmp edx, 9
ja 0x441854
mov edx, ecx
movsx ebx, byte [edx]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x4416b5
inc edx
mov dword [esi], edx
cmp edx, edi
jne 0x4416a1
mov edx, edi
mov ebx, ecx
mov ecx, edx
jmp 0x441858
lea ecx, [ebx + 2]
mov dword [esi], ecx
xor eax, eax
cmp ecx, edi
je 0x4417bd
cmp byte [ecx], 0x72
jne 0x4416d9
add ebx, 3
mov dword [esi], ebx
mov ecx, ebx
cmp ecx, edi
je 0x4417bd
cmp byte [ecx], 0x56
jne 0x4416e9
inc ecx
mov dword [esi], ecx
cmp ecx, edi
je 0x4417bd
cmp byte [ecx], 0x4b
jne 0x4416f9
inc ecx
mov dword [esi], ecx
cmp edi, ecx
je 0x4417bd
movsx edx, byte [ecx]
add edx, 0xffffffd0
xor eax, eax
cmp edx, 9
ja 0x4417c5
mov ebx, ecx
nop word cs:[eax + eax]
movsx edx, byte [ebx]
add edx, 0xffffffd0
cmp edx, 9
ja 0x441734
inc ebx
mov dword [esi], ebx
cmp ebx, edi
jne 0x441720
mov ebx, edi
mov ebp, ecx
mov ecx, ebx
jmp 0x4417c9
add ebx, 3
mov dword [esi], ebx
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x441780
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441881
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], 0x45af04
mov dword [edi + ecx + 0x18], str.this
mov dword [edi + ecx + 0x1c], 0x45c354
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
xor ebp, ebp
cmp ecx, edi
je 0x4417bd
cmp byte [ecx], 0x5f
jne 0x4417bd
inc ecx
mov dword [esi], ecx
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x441813
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441881
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], 0x3f
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], 0x45c364
mov dword [edi + ecx + 0x1c], ebx
mov dword [edi + ecx + 0x18], ebp
jmp 0x4417bd
xor eax, eax
jmp 0x4417bd
xor edx, edx
xor ebx, ebx
mov dword [esp + 4], edx
mov dword [esp], ebx
cmp ecx, edi
je 0x4417bd
cmp byte [ecx], 0x5f
jne 0x4417bd
inc ecx
mov dword [esi], ecx
mov edx, esp
mov ecx, esi
call fcn.004467c0
jmp 0x4417bd
call fcn.004068f0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
xor edi, edi
cmp eax, ecx
je case.0x4418de.77
cmp byte [eax], 0x66
jne case.0x4418de.77
lea edx, [eax + 1]
mov dword [esi], edx
cmp ecx, edx
je case.0x4418de.77
movsx edx, byte [edx]
xor edi, edi
add edx, 0xffffffb4
cmp edx, 0x26
ja case.0x4418de.77
mov dword [esp + 4], 0
mov dword [esp], 0
jmp dword [edx*4 + 0x45de78]
mov dl, 1
mov dword [esp + 4], edx
mov dl, 1
mov dword [esp], edx
jmp case.0x4418de.114
mov dl, 1
mov dword [esp], edx
mov dword [esp + 4], 0
jmp case.0x4418de.114
mov dl, 1
mov dword [esp + 4], edx
mov dword [esp], 0
lea edx, [eax + 2]
mov dword [esi], edx
sub ecx, edx
cmp ecx, 2
jb case.0x4418de.77
movzx ecx, byte [eax + 2]
xor edx, edx
mov edi, 0x3d
jmp 0x441937
inc ebp
mov edx, ebp
cmp edi, edx
je 0x441966
lea ebp, [edx + edi]
shr ebp, 1
lea ebx, [ebp*4]
cmp cl, byte [ebx + ebx*2 + 0x45b32c]
jg 0x441930
jne 0x441960
mov ch, byte [ebx + ebx*2 + 0x45b32d]
cmp byte [eax + 3], ch
setg ch
test ch, 1
jne 0x441930
mov edi, ebp
cmp edi, edx
jne 0x441937
lea edx, [edx + edx*2]
xor edi, edi
cmp cl, byte [edx*4 + 0x45b32c]
jne case.0x4418de.77
lea ebp, [edx*4 + 0x45b32c]
movzx ecx, byte [eax + 3]
cmp cl, byte [ebp + 1]
jne case.0x4418de.77
add eax, 4
mov dword [esi], eax
movzx eax, byte [ebp + 2]
cmp eax, 2
je 0x4419c2
cmp eax, 4
jne case.0x4418de.77
mov ebx, dword [ebp + 8]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
test eax, eax
je 0x441b06
cmp byte [ebx + eax - 1], 0x2a
jne case.0x4418de.77
mov ecx, esi
call fcn.0043f480
test eax, eax
je case.0x4418de.77
mov ebx, eax
cmp byte [esp], 0
je 0x4419fd
mov ecx, esi
call fcn.0043f480
test eax, eax
je 0x441aed
cmp byte [esp + 4], 0
mov ecx, ebx
cmovne ecx, eax
cmovne eax, ebx
mov dword [esp + 8], eax
mov ebx, ecx
jmp 0x441a05
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 0x441af1
mov ebp, eax
push 8
push edi
push 0x45b130
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x441af1
cmp ebp, 8
mov ebx, 8
cmovb ebx, ebp
add ebx, edi
cmp ebp, 9
mov dword [esp + 0xc], ebp
jb 0x441a57
xor eax, eax
cmp byte [ebx], 0x20
sete al
add ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x441a95
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441b18
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x30]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x43
and byte [ebp + ecx + 0x10], 0xc0
add edi, dword [esp + 0xc]
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x45c434
mov eax, dword [esp]
mov dword [ebp + ecx + 0x18], eax
mov eax, dword [esp + 8]
mov dword [ebp + ecx + 0x1c], eax
mov dword [ebp + ecx + 0x24], edi
mov dword [ebp + ecx + 0x20], ebx
mov eax, dword [esp + 4]
mov byte [ebp + ecx + 0x28], al
lea edi, [ecx + ebp]
add edi, 8
mov eax, edi
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
xor edi, edi
jmp case.0x4418de.77
push 0xa47
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str.Res.startsWith__operator_____operator_name_does_not_start_with_operator_
call dword [sym.imp.msvcrt.dll__assert]
push 0x4c
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_StringView.h
push str._empty__
call dword [sym.imp.msvcrt.dll__assert]
call fcn.004068f0
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov ebx, ecx
call fcn.0043b080
xor ebp, ebp
test eax, eax
je 0x441f3e
mov esi, eax
mov ecx, ebx
call fcn.0043f480
test eax, eax
je 0x441f3e
mov dword [esp + 4], eax
mov edi, dword [ebx]
mov ecx, dword [ebx + 4]
mov eax, edi
cmp edi, ecx
je 0x441e64
cmp byte [edi], 0x6e
mov eax, edi
jne 0x441e64
lea eax, [edi + 1]
mov dword [ebx], eax
cmp ecx, eax
je 0x441f3e
movsx edx, byte [eax]
add edx, 0xffffffd0
xor ebp, ebp
cmp edx, 9
ja 0x441e9f
nop dword [eax]
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x441e94
inc eax
mov dword [ebx], eax
cmp eax, ecx
jne 0x441e80
mov eax, ecx
mov edx, eax
cmp eax, ecx
jne 0x441eab
jmp 0x441f3e
xor edx, edx
xor edi, edi
cmp eax, ecx
je 0x441f3e
cmp byte [eax], 0x45
jne 0x441f3e
inc eax
mov dword [ebx], eax
mov ebp, dword [ebx + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x441ef7
mov dword [esp], edx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441f48
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], 0x45c64c
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.004068f0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov ebp, ecx
call fcn.0043b080
xor edi, edi
test eax, eax
je 0x44230f
mov dword [esp + 0x10], eax
mov ecx, ebp
call fcn.0043f480
mov dword [esp + 0x1c], eax
test eax, eax
je 0x44230f
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov eax, edx
cmp edx, ecx
je 0x442048
cmp byte [edx], 0x6e
mov eax, edx
jne 0x442048
lea eax, [edx + 1]
mov dword [ebp], eax
mov dword [esp + 4], edx
xor edi, edi
cmp ecx, eax
je 0x442091
movsx edx, byte [eax]
add edx, 0xffffffd0
mov dword [esp], 0
cmp edx, 9
ja 0x44209a
nop word cs:[eax + eax]
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x442085
inc eax
mov dword [ebp], eax
cmp eax, ecx
jne 0x442070
mov eax, ecx
mov dword [esp], eax
cmp eax, ecx
jne 0x4420aa
jmp 0x44230f
mov eax, ecx
mov dword [esp], 0
mov dword [esp + 4], 0
cmp eax, ecx
je 0x44230f
mov edx, dword [ebp + 0xc]
sub edx, dword [ebp + 8]
sar edx, 2
mov dword [esp + 0x18], edx
lea edx, [ebp + 0x14]
mov dword [esp + 0x14], edx
mov dword [esp + 8], ebp
jmp 0x44210f
push ecx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [ebx + 8], eax
test eax, eax
je 0x442319
lea edx, [eax + edi]
sar edi, 1
lea ecx, [eax + edi*4]
mov dword [ebx + 0x10], ecx
mov edi, edx
lea eax, [esi + ebp]
add eax, 8
lea ecx, [edi + 4]
mov dword [ebx + 0xc], ecx
mov dword [edi], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
cmp eax, ecx
mov ebp, ebx
je 0x44224c
cmp byte [eax], 0x5f
jne 0x442232
inc eax
mov dword [ebp], eax
cmp ecx, eax
je 0x442160
movsx edx, byte [eax]
add edx, 0xffffffd0
xor edi, edi
mov esi, 0
cmp edx, 9
ja 0x442164
mov edi, eax
nop word cs:[eax + eax]
movsx edx, byte [edi]
add edx, 0xffffffd0
cmp edx, 9
ja 0x442155
inc edi
mov dword [ebp], edi
cmp edi, ecx
jne 0x442140
mov edi, ecx
mov esi, eax
jmp 0x442164
xor edi, edi
xor esi, esi
mov dword [esp + 0xc], esi
mov ebp, dword [ebp + 0x1198]
mov esi, dword [ebp + 4]
lea eax, [esi - 0xfd8]
cmp eax, 0xfffff007
ja 0x4421b0
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442319
mov dword [eax], ebp
mov dword [eax + 4], 0
mov ebx, dword [esp + 8]
mov dword [ebx + 0x1198], eax
xor esi, esi
mov ebp, eax
jmp 0x4421b4
mov ebx, dword [esp + 8]
lea eax, [esi + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + esi + 0xc], 7
and byte [ebp + esi + 0x10], 0xc0
movzx eax, byte [ebp + esi + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + esi + 0x14], al
mov dword [ebp + esi + 8], 0x45af04
mov dword [ebp + esi + 0x1c], edi
mov eax, dword [esp + 0xc]
mov dword [ebp + esi + 0x18], eax
mov edi, dword [ebx + 0xc]
cmp edi, dword [ebx + 0x10]
jne 0x4420f2
mov eax, dword [ebx + 8]
sub edi, eax
lea ecx, [edi + edi]
cmp eax, dword [esp + 0x14]
jne 0x4420d0
push ecx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442319
push edi
push dword [esp + 0x18]
push eax
mov ebx, eax
call sub.msvcrt.dll_memcpy
mov eax, ebx
add esp, 0xc
mov ebx, dword [esp + 8]
mov dword [ebx + 8], eax
jmp 0x4420e5
xor edi, edi
cmp eax, ecx
je 0x442253
cmp byte [eax], 0x70
jne 0x442253
inc eax
mov dword [ebp], eax
mov bl, 1
cmp eax, ecx
jne 0x44225d
jmp 0x44230f
xor edi, edi
jmp 0x44230f
xor ebx, ebx
cmp eax, ecx
je 0x44230f
cmp byte [eax], 0x45
jne 0x44230f
inc eax
mov dword [ebp], eax
mov ecx, ebp
mov edx, dword [esp + 0x18]
call fcn.0043cb20
mov dword [esp + 0xc], eax
mov edi, edx
mov esi, dword [ebp + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x4422b5
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442319
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebp + 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], 0x45c6c8
mov dword [esi + ecx + 0x18], edx
mov eax, dword [esp + 0x1c]
mov dword [esi + ecx + 0x1c], eax
mov eax, dword [esp]
mov dword [esi + ecx + 0x24], eax
mov eax, dword [esp + 4]
mov dword [esi + ecx + 0x20], eax
mov dword [esi + ecx + 0x2c], edi
mov eax, dword [esp + 0xc]
mov dword [esi + ecx + 0x28], eax
mov byte [esi + ecx + 0x30], bl
lea edi, [esi + ecx]
add edi, 8
mov eax, edi
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004068f0
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 0x442622
mov edi, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442669
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
add eax, esi
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], 0x45af04
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.004068f0
int3
push ebp
push ebx
push edi
push esi
push eax
mov dword [esp], edx
mov esi, ecx
mov edi, dword [ecx]
mov ebx, dword [ecx + 4]
mov eax, ebx
sub eax, edi
cmp eax, 3
jae 0x44270f
cmp eax, 2
je 0x442727
jmp 0x44273f
push 3
push edi
push 0x45c870
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x442923
push 2
push edi
push 0x45c874
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4427cc
mov ecx, esi
call fcn.00447c50
mov ebp, eax
test eax, eax
je 0x442c5c
cmp byte [esp], 0
je 0x442c5c
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x442798
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442c66
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], 0x45ca3c
mov dword [edi + ecx + 0x18], ebp
lea ebp, [edi + ecx]
add ebp, 8
jmp 0x442c5c
add edi, 2
mov dword [esi], edi
cmp ebx, edi
je 0x4429ca
movsx eax, byte [edi]
add eax, 0xffffffd0
cmp eax, 9
ja 0x4429ca
mov ecx, esi
call fcn.00447b90
test eax, eax
je 0x442bce
mov ebx, eax
cmp byte [esp], 0
je 0x442a7a
xor edi, edi
jmp 0x44286a
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], 0x45c880
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 0x442857
cmp byte [eax], 0x45
je 0x442b28
mov ecx, esi
call fcn.00447b90
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x442c5c
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
test edi, edi
je 0x4428b1
cmp eax, 0xfffff007
ja 0x442810
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442c66
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
jmp 0x442810
cmp eax, 0xfffff007
ja 0x4428e0
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442c66
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], 0x45ca3c
lea eax, [ecx + ebp]
add eax, 0x18
mov dword [eax], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x44284e
jmp 0x442857
add edi, 3
mov dword [esi], edi
mov ecx, esi
call fcn.00447a60
test eax, eax
je 0x442bce
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x442b4d
cmp byte [eax], 0x49
jne 0x442b4d
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0043df30
test eax, eax
je 0x442c5c
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4429a0
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442c66
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], 0x45cfa0
jmp 0x442b3f
mov ecx, esi
call fcn.00447a60
test eax, eax
je 0x442bce
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x442b2b
cmp byte [eax], 0x49
jne 0x442b2b
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0043df30
test eax, eax
je 0x442c5c
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x442a42
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442c66
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], 0x45cfa0
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
jmp 0x442b2b
xor edi, edi
jmp 0x442aa3
mov edi, ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x442a90
cmp byte [eax], 0x45
je 0x442b28
mov ecx, esi
call fcn.00447b90
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x442c5c
test edi, edi
je 0x442a7e
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x442ae5
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442c66
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], 0x45c880
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 0x442a87
jmp 0x442a90
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00447c50
test eax, eax
jne 0x442be8
jmp 0x442bce
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 0x442b59
cmp byte [eax], 0x45
je 0x442bd5
mov ecx, esi
call fcn.00447b90
test eax, eax
je 0x442bce
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x442ba4
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442c66
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], 0x45c880
jmp 0x442b3f
xor ebp, ebp
jmp 0x442c5c
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00447c50
mov ebp, 0
test eax, eax
je 0x442c5c
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x442c27
mov ebp, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442c66
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], 0x45c880
mov dword [ebx + ecx + 0x18], edi
mov dword [ebx + ecx + 0x1c], eax
mov eax, ebp
add esp, 4
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004068f0
int3