Function at 0x43f130
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 0x43f151
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp], ecx
push 2
push ebp
push 0x4649a9
call sub.msvcrt.dll_strncmp
add esp, 0xc
mov edx, eax
xor edi, edi
test eax, eax
je 0x43f170
xor ecx, ecx
jmp 0x43f187
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.0x43f274.10
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], ecx
movzx ecx, byte [ebp]
mov edx, 0x3d
jmp 0x43f1a7
inc eax
mov edi, eax
cmp edx, edi
je 0x43f1d6
lea eax, [edi + edx]
shr eax, 1
lea esi, [eax*4]
cmp cl, byte [esi + esi*2 + 0x464c5c]
jg 0x43f1a0
jne 0x43f1d0
mov ch, byte [esi + esi*2 + 0x464c5d]
cmp byte [ebp + 1], ch
setg ch
test ch, 1
jne 0x43f1a0
mov edx, eax
cmp edx, edi
jne 0x43f1a7
lea eax, [edi + edi*2]
cmp cl, byte [eax*4 + 0x464c5c]
jne 0x43f32d
lea ecx, [eax*4 + 0x464c5c]
movzx eax, byte [ebp + 1]
cmp al, byte [ecx + 1]
jne 0x43f32d
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 main
mov ecx, edi
add esp, 4
mov edi, eax
mov edx, esi
cmp ecx, 0xa
ja case.default.0x43f274
mov dword [esp + 0x24], ecx
cmp edi, 8
jb 0x440250
push 8
push esi
push 0x464a60
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x440250
cmp edi, 8
mov edx, 8
cmovb edx, edi
add edx, esi
cmp edi, 9
mov ecx, dword [esp + 0x24]
jb case.default.0x43f274
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 + 0x467690]
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 4]
mov ecx, dword [esp]
mov ebp, edx
call fcn.0043f130
mov ebx, eax
xor eax, eax
test ebx, ebx
je case.0x43f274.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 0x43f2e0
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x440283
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], 0x465008
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.0x43f274.10
movzx esi, byte [ebp]
cmp esi, 0x66
mov ecx, dword [esp]
je 0x43f35b
cmp esi, 0x54
je 0x43f34f
cmp esi, 0x4c
jne 0x43f390
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x440890
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0043e2e0
movzx eax, byte [ebp + 1]
cmp al, 0x70
je 0x43f384
cmp al, 0x4c
jne 0x43f523
cmp ebx, 3
jb 0x43f523
movsx eax, byte [ebp + 2]
add eax, 0xffffffd0
cmp eax, 9
ja 0x43f523
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x441240
push 2
push ebp
push 0x4649af
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43f52f
push 2
push ebp
push 0x4649b2
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43f5ec
push 2
push ebp
push 0x4649b5
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43f600
push 2
push ebp
push 0x4649c2
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43fb4b
push 2
push ebp
push 0x4649c5
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43fc3a
push 2
push ebp
push 0x4649c8
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43fdb0
push 2
push ebp
push 0x4649d6
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43fea4
push 2
push ebp
push 0x4649d9
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43fef3
push 2
push ebp
push 0x4649dc
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43ff56
push 2
push ebp
push 0x4649e5
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x43ffc5
cmp ebp, dword [esp + 0xc]
je 0x440092
mov eax, esi
cmp al, 0x75
jne 0x440092
inc ebp
mov ecx, dword [esp]
mov dword [ecx], ebp
call fcn.0043d6e0
mov dword [esp + 0x2c], eax
test eax, eax
je 0x440244
mov edi, eax
mov eax, dword [eax]
mov ebx, dword [eax + 0x18]
mov ecx, ebx
call dword [section.......]
mov ecx, edi
call ebx
sub edx, eax
cmp edx, 8
jne 0x43f4dd
push 8
push str.__uuidof
push eax
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4401ec
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 0x43f4fd
cmp byte [eax], 0x45
je 0x4401ba
call fcn.0043c4d0
mov dword [esp + 4], eax
test eax, eax
je 0x440244
mov ecx, ebx
mov edx, ebp
call fcn.0043c6c0
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x43f4f4
jmp 0x43f4fd
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x441540
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 0x43f58b
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebp, eax
mov dword [edi + 8], eax
test eax, eax
je 0x44024b
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 0x43f599
cmp byte [ebp], 0x45
je 0x43f63b
mov ecx, edi
call fcn.004417d0
test eax, eax
je 0x440244
mov ebx, eax
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jne 0x43f57e
mov eax, dword [edi + 8]
sub esi, eax
lea edx, [esi + esi]
cmp eax, dword [esp + 0x20]
jne 0x43f551
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x440265
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 0x43f568
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x441ad0
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0043f130
mov dword [esp + 4], eax
test eax, eax
je 0x440244
mov dword [esp + 0x2c], 2
lea eax, [esp + 0x2c]
lea edx, [esp + 4]
mov ecx, esi
push eax
call fcn.00441c00
add esp, 4
jmp case.0x43f274.10
inc ebp
mov dword [edi], ebp
mov ecx, edi
mov edx, dword [esp + 0x14]
call fcn.0043c7d0
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [esp + 4]
mov ecx, edi
call fcn.00441a40
jmp case.0x43f274.10
cmp ebx, dword [esp + 0xc]
je 0x43fbf6
cmp byte [ebx], 0x5f
jne 0x43fbf6
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.0043f130
mov dword [esp + 0x10], eax
test eax, eax
je 0x440244
lea eax, [esp + 0x18]
lea esi, [esp + 0x10]
lea edx, [esp + 4]
mov ecx, edi
push eax
push esi
call fcn.00442d60
add esp, 8
jmp case.0x43f274.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.0043f130
mov dword [esp + 0x10], eax
test eax, eax
je 0x440244
mov ecx, ebx
call fcn.0043f130
mov dword [esp + 0x28], eax
test eax, eax
je 0x440244
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.00442920
add esp, 0xc
jmp case.0x43f274.10
mov edi, dword [esp]
mov ecx, edi
call fcn.0043f130
mov dword [esp + 4], eax
test eax, eax
je 0x440244
mov ecx, edi
call fcn.0043f130
mov dword [esp + 0x18], eax
test eax, eax
je 0x440244
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.00440360
add esp, 8
jmp case.0x43f274.10
mov ebx, dword [esp]
mov ecx, ebx
call fcn.0043f130
mov dword [esp + 4], eax
test eax, eax
je 0x440244
mov ecx, ebx
call fcn.0043f130
mov dword [esp + 0x18], eax
test eax, eax
je 0x440244
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.00440410
add esp, 0xc
jmp case.0x43f274.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 0x43f82f
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [edi + 8], eax
test eax, eax
je 0x44026a
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 0x43f83c
cmp byte [ebx], 0x5f
je 0x43fd3c
mov ecx, edi
call fcn.0043f130
test eax, eax
je 0x440244
mov ebp, eax
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jne 0x43f822
mov eax, dword [edi + 8]
sub esi, eax
lea edx, [esi + esi]
cmp eax, dword [esp + 0x24]
jne 0x43f7fb
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x440274
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 0x43f812
mov ecx, dword [esp]
call fcn.0043f130
mov ebx, eax
xor eax, eax
test ebx, ebx
je case.0x43f274.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 0x43f8f8
mov byte [esp + 0xc], dl
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x440288
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], 0x465214
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.0x43f274.10
mov esi, dword [esp]
mov ecx, esi
call fcn.0043f130
mov dword [esp + 0x18], eax
test eax, eax
je 0x440244
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 0x43f9a1
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [esi + 8], eax
test eax, eax
je 0x44026f
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 0x43f9b1
cmp byte [eax], 0x45
je 0x43fe46
mov ecx, esi
call fcn.0043f130
test eax, eax
je 0x440244
mov ebp, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
jne 0x43f999
mov eax, dword [esi + 8]
sub edi, eax
lea edx, [edi + edi]
cmp eax, dword [esp + 0xc]
jne 0x43f972
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x440279
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 0x43f989
mov esi, dword [esp]
movzx ebx, byte [esi + 0x184]
mov byte [esi + 0x184], 0
mov ecx, esi
call fcn.0043ad30
mov dword [esp + 0x18], eax
mov byte [esi + 0x184], bl
test eax, eax
je 0x440244
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 0x43fd24
cmp byte [eax], 0x5f
jne 0x43fd24
inc eax
mov dword [ecx], eax
lea esi, [ecx + 0x14]
mov dword [esp + 0xc], esi
jmp 0x43fb97
mov ebx, dword [esp]
mov ecx, ebx
call fcn.0043f130
mov dword [esp + 4], eax
test eax, eax
je 0x440244
mov ecx, ebx
call fcn.0043f130
mov dword [esp + 0x18], eax
test eax, eax
je 0x440244
mov ecx, ebx
call fcn.0043f130
mov dword [esp + 0x10], eax
test eax, eax
je 0x440244
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.00440720
add esp, 0xc
jmp case.0x43f274.10
add ebp, 2
mov ecx, dword [esp]
mov dword [ecx], ebp
add esp, 0x38
pop esi
pop edi
pop ebx
pop ebp
jmp 0x441cb0
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 0x43fe41
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 0x43fba4
cmp byte [eax], 0x45
je 0x43ffa2
mov esi, ecx
call fcn.0043f130
test eax, eax
je 0x440244
mov ebp, eax
mov edi, dword [esi + 0xc]
cmp edi, dword [esi + 0x10]
mov ecx, esi
jne 0x43fb8a
mov eax, dword [ecx + 8]
sub edi, eax
lea edx, [edi + edi]
cmp eax, dword [esp + 0xc]
jne 0x43fb5f
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x44027e
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 0x43fb7a
mov edi, dword [esp]
mov ecx, edi
call fcn.0043f130
mov dword [esp + 4], eax
test eax, eax
je 0x440244
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.004402b0
add esp, 8
jmp case.0x43f274.10
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0043f130
mov dword [esp + 4], eax
test eax, eax
je 0x440244
lea edx, [esp + 4]
mov ecx, esi
call fcn.00441fd0
jmp case.0x43f274.10
cmp eax, edx
je 0x43fdef
cmp byte [eax], 0x45
jne 0x43fdef
xor ebx, ebx
jmp 0x43ffa4
inc ebx
mov dword [edi], ebx
mov ecx, edi
mov edx, dword [esp + 0x34]
call fcn.0043c7d0
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov ecx, edi
call fcn.0043ad30
mov dword [esp + 0x10], eax
test eax, eax
je 0x440244
mov esi, dword [edi]
mov ebx, dword [edi + 4]
mov eax, ebx
sub eax, esi
cmp eax, 2
jb 0x43fd8f
push 2
push esi
push 0x4649ac
call sub.msvcrt.dll_strncmp
mov edi, dword [esp + 0xc]
add esp, 0xc
test eax, eax
je 0x43fff0
cmp esi, ebx
je 0x440244
cmp byte [esi], 0x45
mov eax, 0
jne case.0x43f274.10
mov edx, dword [edi + 0xc]
sub edx, dword [edi + 8]
jmp 0x440160
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
cmp dword [esp + 0xc], ebp
je 0x43fe8c
cmp byte [ebp], 0x54
jne 0x43fe8c
mov ecx, esi
call fcn.0043e2e0
mov dword [esp + 4], eax
test eax, eax
je 0x440244
lea edx, [esp + 4]
mov ecx, esi
call fcn.00442050
jmp case.0x43f274.10
mov edi, ecx
call fcn.0043f130
mov ebp, eax
test eax, eax
mov eax, 0
je case.0x43f274.10
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
mov ecx, edi
jne 0x440109
lea edi, [ecx + 0x14]
mov eax, dword [ecx + 8]
sub esi, eax
lea edx, [esi + esi]
cmp eax, edi
je 0x4400d3
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 0x4400f9
call fcn.004087d0
inc eax
mov dword [esi], eax
mov ecx, esi
mov edi, esi
mov edx, dword [esp + 0x20]
call fcn.0043c7d0
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.004405c0
add esp, 8
jmp case.0x43f274.10
mov ecx, esi
call 0x441240
mov dword [esp + 4], eax
test eax, eax
je 0x440244
jmp 0x43ff92
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 0x43feca
cmp byte [ebp], 0x45
je 0x43ff6f
mov ecx, esi
call fcn.0043c4d0
mov dword [esp + 4], eax
test eax, eax
je 0x440244
mov ecx, edi
lea edx, [esp + 4]
call fcn.0043c6c0
mov ebp, dword [esi]
mov eax, dword [esi + 4]
cmp ebp, eax
jne 0x43fec0
jmp 0x43feca
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0043ad30
mov dword [esp + 0x2c], eax
test eax, eax
je 0x440244
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 0x43ff30
cmp byte [eax], 0x45
je 0x4400ab
call fcn.004417d0
mov dword [esp + 4], eax
test eax, eax
je 0x440244
mov ecx, ebp
mov edx, ebx
call fcn.0043c6c0
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
jne 0x43ff27
jmp 0x43ff30
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 0x442290
inc ebp
mov dword [esi], ebp
mov ecx, esi
mov edx, ebx
call fcn.0043c7d0
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [esp + 4]
mov ecx, esi
call fcn.00442170
mov dword [esp + 4], eax
lea edx, [esp + 4]
mov ecx, esi
call fcn.004420d0
jmp case.0x43f274.10
mov bl, 1
inc eax
mov dword [ecx], eax
mov edx, dword [esp + 0x20]
call fcn.0043c7d0
mov dword [esp + 8], edx
mov dword [esp + 4], eax
test bl, bl
je 0x440122
jmp 0x44012d
add ebp, 2
mov esi, dword [esp]
mov dword [esi], ebp
mov ecx, esi
call fcn.0043f130
mov dword [esp + 4], eax
test eax, eax
je 0x440244
lea edx, [esp + 4]
mov ecx, esi
call fcn.00442320
jmp case.0x43f274.10
add esi, 2
mov dword [edi], esi
mov eax, dword [edi + 0xc]
sub eax, dword [edi + 8]
mov dword [esp + 0xc], eax
jmp 0x440035
push edx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov ebx, eax
mov dword [edi + 8], eax
test eax, eax
je 0x440292
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 0x440042
cmp byte [esi], 0x45
je 0x44015c
mov ecx, edi
call fcn.0043f130
test eax, eax
je 0x440244
mov ebp, eax
mov esi, dword [edi + 0xc]
cmp esi, dword [edi + 0x10]
jne 0x440028
mov eax, dword [edi + 8]
sub esi, eax
lea edx, [esi + esi]
cmp eax, dword [esp + 0x24]
jne 0x440001
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x440297
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 0x440018
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 0x4423a0
inc eax
mov dword [ecx], eax
mov esi, ecx
mov edx, edi
call fcn.0043c7d0
mov dword [esp + 8], edx
mov dword [esp + 4], eax
lea edx, [esp + 0x2c]
mov ecx, esi
push ebx
call fcn.00442200
add esp, 4
jmp case.0x43f274.10
mov ebx, edi
push edx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x44027e
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.0043c7d0
mov dword [esp + 8], edx
mov dword [esp + 4], eax
xor eax, eax
cmp edx, 1
jne case.0x43f274.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.00440670
add esp, 8
jmp case.0x43f274.10
mov edx, dword [esp + 0xc]
sar edx, 2
inc esi
mov dword [edi], esi
mov ecx, edi
mov ebp, edi
call fcn.0043c7d0
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.004404d0
add esp, 0x14
jmp case.0x43f274.10
inc eax
mov dword [ecx], eax
sar edi, 2
mov ebx, ecx
mov edx, edi
call fcn.0043c7d0
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 0x43fe7d
mov ecx, dword [esp]
mov eax, dword [ecx]
cmp eax, dword [ecx + 4]
je 0x43f4dd
cmp byte [eax], 0x74
jne 0x44020c
inc eax
mov ecx, dword [esp]
mov dword [ecx], eax
call fcn.0043ad30
jmp 0x440220
cmp byte [eax], 0x7a
jne 0x43f4dd
inc eax
mov ecx, dword [esp]
mov dword [ecx], eax
call fcn.0043f130
mov dword [esp + 0x18], eax
test eax, eax
je 0x440244
mov esi, dword [esp]
lea ecx, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
lea edx, [esp + 0x18]
call fcn.0043c6c0
mov ecx, esi
jmp 0x4401bd
xor eax, eax
jmp case.0x43f274.10
call fcn.004087d0
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.004087d0
call fcn.004087d0
call fcn.004087d0
call fcn.004087d0
call fcn.004087d0
call fcn.004087d0
call fcn.004087d0
call fcn.004087d0
call fcn.004087d0
call fcn.004087d0
call fcn.004087d0
mov byte [esi + 0x184], bl
push eax
call fcn.0042e970
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.0x4408c7.84
cmp byte [ebx], 0x4c
jne case.0x4408c7.84
mov edi, ecx
lea esi, [ebx + 1]
mov dword [ecx], esi
mov eax, ebp
sub eax, esi
je case.0x4408c7.66
movsx ecx, byte [esi]
add ecx, 0xffffffbf
cmp ecx, 0x38
ja case.0x4408c7.66
jmp dword [ecx*4 + 0x4676c4]
mov ecx, edi
call fcn.0043ad30
mov dword [esp + 4], eax
xor edx, edx
test eax, eax
je case.0x4408c7.84
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je case.0x4408c7.84
cmp byte [eax], 0x45
jne case.0x4408c7.84
inc eax
mov dword [edi], eax
lea edx, [esp + 4]
mov ecx, edi
call fcn.00443e00
jmp 0x4409aa
mov ecx, edi
call fcn.0043ad30
mov dword [esp + 0xc], eax
test eax, eax
je 0x4411cb
mov edx, dword [edi]
mov ecx, dword [edi + 4]
mov eax, edx
cmp edx, ecx
je 0x440934
cmp byte [edx], 0x6e
mov eax, edx
jne 0x440934
lea eax, [edx + 1]
mov dword [edi], eax
cmp ecx, eax
je 0x440968
movsx ebx, byte [eax]
add ebx, 0xffffffd0
xor esi, esi
cmp ebx, 9
ja 0x44096c
nop word cs:[eax + eax]
movsx esi, byte [eax]
add esi, 0xffffffd0
cmp esi, 9
ja 0x440964
inc eax
mov dword [edi], eax
cmp eax, ecx
jne 0x440950
mov eax, ecx
mov esi, eax
jmp 0x44096e
mov eax, ecx
xor esi, esi
xor edx, edx
mov dword [esp + 8], esi
mov dword [esp + 4], edx
cmp esi, edx
je 0x4411cb
cmp eax, ecx
mov edx, 0
je case.0x4408c7.84
cmp byte [eax], 0x45
jne case.0x4408c7.84
inc eax
mov dword [edi], eax
lea eax, [esp + 4]
lea edx, [esp + 0xc]
mov ecx, edi
push eax
call fcn.00444680
add esp, 4
mov edx, eax
jmp case.0x4408c7.84
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.short
push 0x4654b4
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x4654cc
push 0x4654ce
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x4654c5
push 0x4654c6
jmp 0x44120e
lea esi, [ebx + 2]
mov dword [edi], esi
mov eax, ebp
sub eax, esi
cmp eax, 9
jb case.0x4408c7.84
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
mov dword [esp], esi
lea eax, [ebx + 0xa]
mov dword [edi], eax
cmp eax, ebp
je 0x4411cb
cmp byte [eax], 0x45
mov edx, 0
jne case.0x4408c7.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 0x440b18
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441235
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], 0x4655d4
mov eax, dword [esp]
mov dword [esi + ecx + 0x18], eax
mov dword [esi + ecx + 0x1c], ebp
jmp case.0x4408c7.84
cmp eax, 2
jb case.0x4408c7.84
push 2
push esi
push 0x4654ee
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x4411cb
lea eax, [ebx + 3]
mov dword [edi], eax
cmp eax, ebp
mov edx, 0
je case.0x4408c7.84
cmp byte [eax], 0x30
jne 0x440b92
add ebx, 4
mov dword [edi], ebx
mov eax, ebx
cmp eax, ebp
je case.0x4408c7.84
cmp byte [eax], 0x45
jne case.0x4408c7.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 0x443e80
cmp eax, 2
jb case.0x4408c7.84
push 2
push esi
push 0x46456c
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x4411cb
add ebx, 3
mov dword [edi], ebx
mov ecx, edi
call fcn.0043a180
test eax, eax
je 0x4411cb
mov ecx, dword [edi]
cmp ecx, dword [edi + 4]
mov edx, 0
je case.0x4408c7.84
cmp byte [ecx], 0x45
jne case.0x4408c7.84
inc ecx
mov dword [edi], ecx
jmp 0x4409aa
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x4654c4
push 0x4654c4
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x4654cf
push 0x4654d2
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.unsigned_short
push 0x4654c3
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.signed_char
push 0x4654a0
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.unsigned_char
push 0x4654ae
jmp 0x44120e
cmp eax, 2
jb case.0x4408c7.84
cmp byte [ebx + 2], 0x6c
jne case.0x4408c7.84
mov ecx, edi
xor edx, edx
call fcn.00443f10
mov dword [esp + 4], eax
test eax, eax
je 0x4411cb
mov eax, dword [edi]
cmp eax, dword [edi + 4]
je 0x4411cb
cmp byte [eax], 0x45
mov edx, 0
jne case.0x4408c7.84
inc eax
mov dword [edi], eax
lea edx, [esp + 4]
mov ecx, edi
call fcn.00444600
jmp 0x4409aa
cmp eax, 3
jb case.0x4408c7.84
push 3
push esi
push 0x465488
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x441218
push 3
push esi
push 0x46548c
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
mov edx, 0
jne case.0x4408c7.84
add ebx, 4
mov dword [edi], ebx
mov dword [esp + 4], 1
jmp 0x441225
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.char
push 0x465494
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x4654c7
push 0x4654c8
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, 0x4654c9
push 0x4654cb
jmp 0x44120e
lea esi, [ebx + 2]
mov dword [edi], esi
mov eax, ebp
sub eax, esi
cmp eax, 0x15
jb case.0x4408c7.84
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xa]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xb]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xc]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xd]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xe]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xf]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0x10]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0x11]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0x12]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0x13]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0x14]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0x15]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
lea eax, [ebx + 0x16]
mov dword [edi], eax
mov dword [esp], eax
cmp eax, ebp
je 0x4411cb
mov eax, dword [esp]
cmp byte [eax], 0x45
mov edx, 0
jne case.0x4408c7.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 0x440f91
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441235
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], 0x4656b4
jmp 0x4411be
lea esi, [ebx + 2]
mov dword [edi], esi
mov eax, ebp
sub eax, esi
cmp eax, 0x11
jb case.0x4408c7.84
movsx eax, byte [ebx + 2]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 3]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 4]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 5]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 6]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 7]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 8]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 9]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xa]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xb]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xc]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xd]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xe]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0xf]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0x10]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
movsx eax, byte [ebx + 0x11]
push eax
call dword [sym.imp.msvcrt.dll_isxdigit]
add esp, 4
test eax, eax
je 0x4411cb
lea eax, [ebx + 0x12]
mov dword [edi], eax
mov dword [esp], eax
cmp eax, ebp
je 0x4411cb
mov eax, dword [esp]
cmp byte [eax], 0x45
mov edx, 0
jne case.0x4408c7.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 0x441193
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441235
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], 0x465644
mov dword [ebx + ecx + 0x18], esi
mov eax, dword [esp]
mov dword [ebx + ecx + 0x1c], eax
jmp case.0x4408c7.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 0x4654ed
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.__int128
push 0x4654db
jmp 0x44120e
add ebx, 2
mov dword [edi], ebx
mov ecx, edi
mov edx, str.wchar_t
push 0x465487
call fcn.00443c70
add esp, 0x14
jmp 0x4411d2
add ebx, 4
mov dword [edi], ebx
mov dword [esp + 4], 0
lea edx, [esp + 4]
mov ecx, edi
call fcn.00443d80
jmp 0x4409aa
call fcn.004087d0
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 0x441263
xor eax, eax
cmp ecx, 2
je 0x44127b
jmp 0x44146d
push 3
push ebx
push 0x465c7c
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4413ed
push 2
push ebx
push 0x465c85
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x44136e
push 2
push ebx
push 0x465c88
call sub.msvcrt.dll_strncmp
add esp, 0xc
mov ecx, eax
xor eax, eax
test ecx, ecx
jne 0x44146d
add ebx, 2
mov dword [esi], ebx
cmp edi, ebx
je 0x44146d
movsx ecx, byte [ebx]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x44146d
mov edx, ebx
nop dword [eax]
movsx ecx, byte [edx]
add ecx, 0xffffffd0
cmp ecx, 9
ja 0x4412e4
inc edx
mov dword [esi], edx
cmp edx, edi
jne 0x4412d0
mov edx, edi
cmp ebx, edx
je 0x44146d
cmp edx, edi
je 0x44146d
cmp byte [edx], 0x70
jne 0x44146d
lea ecx, [edx + 1]
mov dword [esi], ecx
cmp ecx, edi
je 0x4414fd
cmp byte [ecx], 0x72
jne 0x441316
add edx, 2
mov dword [esi], edx
mov ecx, edx
cmp ecx, edi
je 0x4414fd
cmp byte [ecx], 0x56
jne 0x441326
inc ecx
mov dword [esi], ecx
cmp ecx, edi
je 0x4414fd
cmp byte [ecx], 0x4b
jne 0x441336
inc ecx
mov dword [esi], ecx
cmp edi, ecx
je 0x4414fd
movsx edx, byte [ecx]
add edx, 0xffffffd0
xor eax, eax
cmp edx, 9
ja 0x441504
mov edx, ecx
movsx ebx, byte [edx]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x441365
inc edx
mov dword [esi], edx
cmp edx, edi
jne 0x441351
mov edx, edi
mov ebx, ecx
mov ecx, edx
jmp 0x441508
lea ecx, [ebx + 2]
mov dword [esi], ecx
xor eax, eax
cmp ecx, edi
je 0x44146d
cmp byte [ecx], 0x72
jne 0x441389
add ebx, 3
mov dword [esi], ebx
mov ecx, ebx
cmp ecx, edi
je 0x44146d
cmp byte [ecx], 0x56
jne 0x441399
inc ecx
mov dword [esi], ecx
cmp ecx, edi
je 0x44146d
cmp byte [ecx], 0x4b
jne 0x4413a9
inc ecx
mov dword [esi], ecx
cmp edi, ecx
je 0x44146d
movsx edx, byte [ecx]
add edx, 0xffffffd0
xor eax, eax
cmp edx, 9
ja 0x441475
mov ebx, ecx
nop word cs:[eax + eax]
movsx edx, byte [ebx]
add edx, 0xffffffd0
cmp edx, 9
ja 0x4413e4
inc ebx
mov dword [esi], ebx
cmp ebx, edi
jne 0x4413d0
mov ebx, edi
mov ebp, ecx
mov ecx, ebx
jmp 0x441479
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 0x441430
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441531
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], 0x464834
mov dword [edi + ecx + 0x18], str.this
mov dword [edi + ecx + 0x1c], 0x465c84
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
xor ebp, ebp
cmp ecx, edi
je 0x44146d
cmp byte [ecx], 0x5f
jne 0x44146d
inc ecx
mov dword [esi], ecx
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4414c3
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441531
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], 0x465c94
mov dword [edi + ecx + 0x1c], ebx
mov dword [edi + ecx + 0x18], ebp
jmp 0x44146d
xor eax, eax
jmp 0x44146d
xor edx, edx
xor ebx, ebx
mov dword [esp + 4], edx
mov dword [esp], ebx
cmp ecx, edi
je 0x44146d
cmp byte [ecx], 0x5f
jne 0x44146d
inc ecx
mov dword [esi], ecx
mov edx, esp
mov ecx, esi
call fcn.00446470
jmp 0x44146d
call fcn.004087d0
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.0x44158e.77
cmp byte [eax], 0x66
jne case.0x44158e.77
lea edx, [eax + 1]
mov dword [esi], edx
cmp ecx, edx
je case.0x44158e.77
movsx edx, byte [edx]
xor edi, edi
add edx, 0xffffffb4
cmp edx, 0x26
ja case.0x44158e.77
mov dword [esp + 4], 0
mov dword [esp], 0
jmp dword [edx*4 + 0x4677a8]
mov dl, 1
mov dword [esp + 4], edx
mov dl, 1
mov dword [esp], edx
jmp case.0x44158e.114
mov dl, 1
mov dword [esp], edx
mov dword [esp + 4], 0
jmp case.0x44158e.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.0x44158e.77
movzx ecx, byte [eax + 2]
xor edx, edx
mov edi, 0x3d
jmp 0x4415e7
inc ebp
mov edx, ebp
cmp edi, edx
je 0x441616
lea ebp, [edx + edi]
shr ebp, 1
lea ebx, [ebp*4]
cmp cl, byte [ebx + ebx*2 + 0x464c5c]
jg 0x4415e0
jne 0x441610
mov ch, byte [ebx + ebx*2 + 0x464c5d]
cmp byte [eax + 3], ch
setg ch
test ch, 1
jne 0x4415e0
mov edi, ebp
cmp edi, edx
jne 0x4415e7
lea edx, [edx + edx*2]
xor edi, edi
cmp cl, byte [edx*4 + 0x464c5c]
jne case.0x44158e.77
lea ebp, [edx*4 + 0x464c5c]
movzx ecx, byte [eax + 3]
cmp cl, byte [ebp + 1]
jne case.0x44158e.77
add eax, 4
mov dword [esi], eax
movzx eax, byte [ebp + 2]
cmp eax, 2
je 0x441672
cmp eax, 4
jne case.0x44158e.77
mov ebx, dword [ebp + 8]
push ebx
call main
add esp, 4
test eax, eax
je 0x4417b6
cmp byte [ebx + eax - 1], 0x2a
jne case.0x44158e.77
mov ecx, esi
call fcn.0043f130
test eax, eax
je case.0x44158e.77
mov ebx, eax
cmp byte [esp], 0
je 0x4416ad
mov ecx, esi
call fcn.0043f130
test eax, eax
je 0x44179d
cmp byte [esp + 4], 0
mov ecx, ebx
cmovne ecx, eax
cmovne eax, ebx
mov dword [esp + 8], eax
mov ebx, ecx
jmp 0x4416b5
mov dword [esp + 8], 0
mov dword [esp], ebx
mov edi, dword [ebp + 8]
push edi
call main
add esp, 4
cmp eax, 8
jb 0x4417a1
mov ebp, eax
push 8
push edi
push 0x464a60
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
jne 0x4417a1
cmp ebp, 8
mov ebx, 8
cmovb ebx, ebp
add ebx, edi
cmp ebp, 9
mov dword [esp + 0xc], ebp
jb 0x441707
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 0x441745
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4417c8
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], 0x465d64
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.0x44158e.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.004087d0
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov ebx, ecx
call fcn.0043ad30
xor ebp, ebp
test eax, eax
je 0x441bee
mov esi, eax
mov ecx, ebx
call fcn.0043f130
test eax, eax
je 0x441bee
mov dword [esp + 4], eax
mov edi, dword [ebx]
mov ecx, dword [ebx + 4]
mov eax, edi
cmp edi, ecx
je 0x441b14
cmp byte [edi], 0x6e
mov eax, edi
jne 0x441b14
lea eax, [edi + 1]
mov dword [ebx], eax
cmp ecx, eax
je 0x441bee
movsx edx, byte [eax]
add edx, 0xffffffd0
xor ebp, ebp
cmp edx, 9
ja 0x441b4f
nop dword [eax]
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x441b44
inc eax
mov dword [ebx], eax
cmp eax, ecx
jne 0x441b30
mov eax, ecx
mov edx, eax
cmp eax, ecx
jne 0x441b5b
jmp 0x441bee
xor edx, edx
xor edi, edi
cmp eax, ecx
je 0x441bee
cmp byte [eax], 0x45
jne 0x441bee
inc eax
mov dword [ebx], eax
mov ebp, dword [ebx + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x441ba7
mov dword [esp], edx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441bf8
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], 0x465f7c
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.004087d0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov ebp, ecx
call fcn.0043ad30
xor edi, edi
test eax, eax
je 0x441fbf
mov dword [esp + 0x10], eax
mov ecx, ebp
call fcn.0043f130
mov dword [esp + 0x1c], eax
test eax, eax
je 0x441fbf
mov edx, dword [ebp]
mov ecx, dword [ebp + 4]
mov eax, edx
cmp edx, ecx
je 0x441cf8
cmp byte [edx], 0x6e
mov eax, edx
jne 0x441cf8
lea eax, [edx + 1]
mov dword [ebp], eax
mov dword [esp + 4], edx
xor edi, edi
cmp ecx, eax
je 0x441d41
movsx edx, byte [eax]
add edx, 0xffffffd0
mov dword [esp], 0
cmp edx, 9
ja 0x441d4a
nop word cs:[eax + eax]
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x441d35
inc eax
mov dword [ebp], eax
cmp eax, ecx
jne 0x441d20
mov eax, ecx
mov dword [esp], eax
cmp eax, ecx
jne 0x441d5a
jmp 0x441fbf
mov eax, ecx
mov dword [esp], 0
mov dword [esp + 4], 0
cmp eax, ecx
je 0x441fbf
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 0x441dbf
push ecx
push eax
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [ebx + 8], eax
test eax, eax
je 0x441fc9
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 0x441efc
cmp byte [eax], 0x5f
jne 0x441ee2
inc eax
mov dword [ebp], eax
cmp ecx, eax
je 0x441e10
movsx edx, byte [eax]
add edx, 0xffffffd0
xor edi, edi
mov esi, 0
cmp edx, 9
ja 0x441e14
mov edi, eax
nop word cs:[eax + eax]
movsx edx, byte [edi]
add edx, 0xffffffd0
cmp edx, 9
ja 0x441e05
inc edi
mov dword [ebp], edi
cmp edi, ecx
jne 0x441df0
mov edi, ecx
mov esi, eax
jmp 0x441e14
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 0x441e60
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441fc9
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 0x441e64
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], 0x464834
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 0x441da2
mov eax, dword [ebx + 8]
sub edi, eax
lea ecx, [edi + edi]
cmp eax, dword [esp + 0x14]
jne 0x441d80
push ecx
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441fc9
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 0x441d95
xor edi, edi
cmp eax, ecx
je 0x441f03
cmp byte [eax], 0x70
jne 0x441f03
inc eax
mov dword [ebp], eax
mov bl, 1
cmp eax, ecx
jne 0x441f0d
jmp 0x441fbf
xor edi, edi
jmp 0x441fbf
xor ebx, ebx
cmp eax, ecx
je 0x441fbf
cmp byte [eax], 0x45
jne 0x441fbf
inc eax
mov dword [ebp], eax
mov ecx, ebp
mov edx, dword [esp + 0x18]
call fcn.0043c7d0
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 0x441f65
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x441fc9
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], 0x465ff8
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.004087d0
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 0x4422d2
mov edi, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442319
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 main
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], 0x464834
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.004087d0
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 0x4423bf
cmp eax, 2
je 0x4423d7
jmp 0x4423ef
push 3
push edi
push 0x4661a0
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x4425d3
push 2
push edi
push 0x4661a4
call sub.msvcrt.dll_strncmp
add esp, 0xc
test eax, eax
je 0x44247c
mov ecx, esi
call fcn.00447900
mov ebp, eax
test eax, eax
je 0x44290c
cmp byte [esp], 0
je 0x44290c
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x442448
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442916
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], 0x46636c
mov dword [edi + ecx + 0x18], ebp
lea ebp, [edi + ecx]
add ebp, 8
jmp 0x44290c
add edi, 2
mov dword [esi], edi
cmp ebx, edi
je 0x44267a
movsx eax, byte [edi]
add eax, 0xffffffd0
cmp eax, 9
ja 0x44267a
mov ecx, esi
call fcn.00447840
test eax, eax
je 0x44287e
mov ebx, eax
cmp byte [esp], 0
je 0x44272a
xor edi, edi
jmp 0x44251a
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], 0x4661b0
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 0x442507
cmp byte [eax], 0x45
je 0x4427d8
mov ecx, esi
call fcn.00447840
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x44290c
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
test edi, edi
je 0x442561
cmp eax, 0xfffff007
ja 0x4424c0
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442916
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
jmp 0x4424c0
cmp eax, 0xfffff007
ja 0x442590
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442916
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], 0x46636c
lea eax, [ecx + ebp]
add eax, 0x18
mov dword [eax], ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x4424fe
jmp 0x442507
add edi, 3
mov dword [esi], edi
mov ecx, esi
call fcn.00447710
test eax, eax
je 0x44287e
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x4427fd
cmp byte [eax], 0x49
jne 0x4427fd
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0043dbe0
test eax, eax
je 0x44290c
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x442650
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442916
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], 0x4668d0
jmp 0x4427ef
mov ecx, esi
call fcn.00447710
test eax, eax
je 0x44287e
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x4427db
cmp byte [eax], 0x49
jne 0x4427db
xor ebp, ebp
mov ecx, esi
xor edx, edx
call fcn.0043dbe0
test eax, eax
je 0x44290c
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4426f2
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442916
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], 0x4668d0
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
jmp 0x4427db
xor edi, edi
jmp 0x442753
mov edi, ebx
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x442740
cmp byte [eax], 0x45
je 0x4427d8
mov ecx, esi
call fcn.00447840
mov ebx, eax
xor ebp, ebp
test eax, eax
je 0x44290c
test edi, edi
je 0x44272e
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x442795
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442916
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], 0x4661b0
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 0x442737
jmp 0x442740
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00447900
test eax, eax
jne 0x442898
jmp 0x44287e
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 0x442809
cmp byte [eax], 0x45
je 0x442885
mov ecx, esi
call fcn.00447840
test eax, eax
je 0x44287e
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x442854
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442916
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], 0x4661b0
jmp 0x4427ef
xor ebp, ebp
jmp 0x44290c
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00447900
mov ebp, 0
test eax, eax
je 0x44290c
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x4428d7
mov ebp, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x442916
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], 0x4661b0
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.004087d0
int3