Function at 0x480b10
Capabilities:
Encode data using base64

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x3c
mov edi, dword [ecx]
mov eax, dword [ecx + 4]
mov ebp, eax
sub ebp, edi
cmp ebp, 2
jae 0x480b2f
xor eax, eax
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
movzx edx, word [edi]
cmp edx, 0x7367
setne al
xor esi, esi
cmp dx, 0x7367
je 0x480b50
xor ecx, ecx
jmp 0x480b66
add edi, 2
mov ecx, dword [esp + 0x14]
mov dword [ecx], edi
mov ebp, dword [esp + 0x18]
sub ebp, edi
mov cl, 1
cmp ebp, 2
jb case.0x480d20.10
xor edx, edx
mov dl, al
mov dword [esp + 0x10], edx
mov dword [esp + 8], edi
movzx eax, byte [edi]
mov edi, 0x3d
jmp 0x480b87
inc edx
mov esi, edx
cmp edi, esi
je 0x480bb4
lea edx, [esi + edi]
shr edx, 1
lea ebx, [edx*4]
cmp al, byte [ebx + ebx*2 + 0x49ef70]
jg 0x480b80
jne 0x480bae
mov ah, byte [ebx + ebx*2 + 0x49ef71]
mov ebx, dword [esp + 8]
cmp byte [ebx + 1], ah
jg 0x480b80
mov edi, edx
cmp edi, esi
jne 0x480b87
mov dword [esp + 0x24], ecx
lea edx, [esi + esi*2]
cmp al, byte [edx*4 + 0x49ef70]
mov edi, dword [esp + 8]
jne 0x480c5b
lea ecx, [edx*4 + 0x49ef70]
movzx eax, byte [edi + 1]
cmp al, byte [ecx + 1]
jne 0x480c5b
lea ebx, [edi + 2]
mov esi, dword [esp + 0x14]
mov dword [esi], ebx
movzx ebp, byte [ecx + 2]
mov dword [esp + 0x10], ecx
mov edi, dword [ecx + 8]
push edi
call sub.msvcrt.dll_strlen
add esp, 4
mov dword [esp + 0x28], ebp
cmp ebp, 0xa
ja 0x480d0c
cmp eax, 8
jb 0x481b9a
mov ecx, 0x7265706f
xor ecx, dword [edi]
mov edx, 0x726f7461
xor edx, dword [edi + 4]
or edx, ecx
jne 0x481b9a
lea ebp, [edi + 8]
mov edx, eax
add edx, 0xfffffff8
je 0x480e0c
cmp byte [ebp], 0x20
mov ecx, dword [esp + 0x10]
jne case.default.0x480c54
add edi, 9
add eax, 0xfffffff7
mov ebp, edi
mov edx, eax
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x4a1c0c]
movzx edx, byte [edi]
cmp edx, 0x66
mov esi, dword [esp + 0x14]
je 0x480ca0
cmp edx, 0x54
je 0x480c92
cmp edx, 0x4c
jne 0x480cb6
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4821d0
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x4a1c0c]
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp fcn.0047fb60
movzx eax, byte [edi + 1]
cmp al, 0x70
jne 0x480d27
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x482c90
cmp word [edi], 0x6c69
je 0x480d4e
cmp word [edi], 0x636d
mov eax, dword [esp + 0x18]
je 0x480ed1
cmp word [edi], 0x786e
je 0x480fcc
cmp eax, edi
sete al
cmp dl, 0x72
setne cl
or cl, al
jne 0x480ee4
movzx eax, byte [edi + 1]
or eax, 0x20
cmp eax, 0x71
jne 0x480ee4
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4836e0
mov ebp, edi
mov edx, eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x4a1c0c]
cmp ebp, 2
je 0x480d40
cmp al, 0x4c
jne 0x480d40
movsx eax, byte [edi + 2]
add eax, 0xffffffd0
cmp eax, 9
jbe 0x480ca8
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x482f80
add edi, 2
mov dword [esi], edi
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x10], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x18]
jmp 0x480da2
push eax
push ebx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x481b95
lea ebp, [eax + edi]
sar edi, 1
mov dword [esi + 0xc], ebp
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov edi, dword [esi]
mov eax, dword [esi + 4]
cmp edi, eax
je 0x480daf
cmp byte [edi], 0x45
je 0x481001
mov ecx, esi
call fcn.004831f0
test eax, eax
je case.0x480d20.10
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x480d94
mov dword [esp + 8], eax
mov ebx, dword [esi + 8]
mov edi, ebp
sub edi, ebx
lea eax, [edi + edi]
cmp ebx, dword [esp + 0x24]
jne 0x480d6d
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481bb3
cmp ebp, dword [esp + 0x24]
je 0x480e04
push edi
push ebx
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x480d82
xor edx, edx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ebp
mov eax, dword [esp + 0x28]
jmp dword [eax*4 + 0x4a1c0c]
mov dword [esp + 8], edx
xor ebx, ebx
mov edi, dword [ecx + 4]
mov ecx, esi
call fcn.00480b10
test eax, eax
je 0x48167b
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x480e84
mov esi, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481bd1
mov dword [eax], ebx
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov ebx, eax
mov eax, esi
lea edx, [ecx + 0x20]
mov dword [ebx + 4], edx
mov byte [ebx + ecx + 0xc], 0x42
mov edx, dword [ebx + ecx + 0x10]
and edi, 0x3f
and edx, 0xffffffc0
or edx, edi
mov dword [ebx + ecx + 0x10], edx
movzx edx, byte [ebx + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebx + ecx + 0x14], dl
mov dword [ebx + ecx + 8], 0x49f2f8
mov edx, dword [esp + 8]
mov dword [ebx + ecx + 0x1c], edx
mov dword [ebx + ecx + 0x18], ebp
mov dword [ebx + ecx + 0x20], eax
lea eax, [ebx + ecx]
add eax, 8
jmp 0x480b27
add edi, 2
mov dword [esi], edi
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x4834f0
cmp word [edi], 0x6f73
je 0x4815b3
cmp word [edi], 0x7073
je 0x4816e9
cmp word [edi], 0x5a73
je 0x48179e
cmp word [edi], 0x5073
mov eax, dword [esp + 0x18]
je 0x4817e5
cmp word [edi], 0x6c74
je 0x48182f
cmp word [edi], 0x7274
je 0x4818b6
cmp word [edi], 0x7774
je 0x4819ad
cmp eax, edi
sete al
cmp dl, 0x75
setne cl
or cl, al
jne 0x4819d2
inc edi
mov dword [esi], edi
mov ecx, esi
call fcn.0047f0c0
mov dword [esp + 0x30], eax
test eax, eax
je case.0x480d20.10
mov ecx, dword [eax]
mov edi, dword [ecx + 0x18]
mov ecx, edi
mov ebx, eax
call dword [0x4a24bc]
mov ecx, ebx
call edi
cmp edx, 8
jne 0x480f8d
mov ecx, 0x75755f5f
xor ecx, dword [eax]
mov edx, 0x666f6469
xor edx, dword [eax + 4]
or edx, ecx
je 0x481b39
lea ebx, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
mov ebp, esp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x480fa8
cmp byte [eax], 0x45
je 0x481afc
mov ecx, esi
call fcn.0047dd30
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov ecx, ebx
mov edx, ebp
call fcn.0047e000
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x480f9f
jmp 0x480fa8
add edi, 2
mov dword [esi], edi
mov ecx, esi
call fcn.00480b10
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov dword [esp + 0x30], 2
lea eax, [esp + 0x30]
mov edx, esp
mov ecx, esi
push eax
call fcn.00483630
add esp, 4
jmp 0x480b27
inc edi
mov dword [esi], edi
mov ecx, esi
mov edx, dword [esp + 0x10]
call fcn.0047e120
mov dword [esp + 4], edx
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.00483460
jmp 0x480b27
mov ecx, esi
call fcn.0047c250
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x480d20.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
lea esi, [esp + 0x1c]
mov edi, esp
lea edx, [esp + 0x30]
push eax
push esi
push edi
call fcn.00482110
jmp 0x48119b
mov ecx, esi
call fcn.00480b10
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x480d20.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
lea esi, [esp + 0x1c]
lea edi, [esp + 0x30]
mov edx, esp
push eax
push esi
push edi
call fcn.00481d60
jmp 0x48119b
mov dword [esp + 8], edx
xor ebx, ebx
test byte [ecx + 3], 1
je 0x4815c6
mov ecx, esi
call fcn.0047c250
jmp 0x4815cd
mov ecx, esi
call fcn.00480b10
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x480d20.10
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0xc], eax
test eax, eax
je case.0x480d20.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x2c]
mov ecx, esi
lea esi, [esp + 0xc]
lea edi, [esp + 0x1c]
mov edx, esp
push eax
push esi
push edi
call fcn.00482060
jmp 0x48119b
mov eax, dword [ecx + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 0x1c], eax
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0xc], eax
test eax, eax
je case.0x480d20.10
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0x2c], eax
test eax, eax
je case.0x480d20.10
lea eax, [esp + 0x1c]
mov ecx, esi
lea esi, [esp + 0x2c]
mov edi, esp
lea edx, [esp + 0xc]
push eax
push esi
push edi
call fcn.004847c0
add esp, 0xc
jmp 0x480b27
mov ecx, esi
call fcn.00480b10
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x480d20.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
lea esi, [esp + 0x1c]
mov edx, esp
push eax
push esi
call fcn.00481cb0
jmp 0x481a73
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0x1c], eax
xor ebx, ebx
test eax, eax
je 0x48167b
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x24], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x18], eax
jmp 0x48124b
push eax
push ebp
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x481bbd
lea ebx, [eax + edi]
sar edi, 1
mov dword [esi + 0xc], ebx
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
mov dword [ebx], eax
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x48125b
cmp byte [eax], 0x45
je 0x481760
mov ecx, esi
call fcn.00480b10
test eax, eax
je case.0x480d20.10
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x481243
mov dword [esp + 8], eax
mov ebp, dword [esi + 8]
mov edi, ebx
sub edi, ebp
lea eax, [edi + edi]
cmp ebp, dword [esp + 0x18]
jne 0x48121c
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481bc7
cmp ebx, dword [esp + 0x18]
je 0x4812b0
push edi
push ebp
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x481231
cmp ebx, dword [esp + 0x18]
je 0x481578
cmp byte [ebx], 0x5f
jne 0x481578
mov eax, dword [esp + 8]
add eax, 3
mov dword [esi], eax
mov eax, dword [ecx + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 4], edx
mov dword [esp], ebp
mov dword [esp + 0x1c], eax
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0xc], eax
test eax, eax
je case.0x480d20.10
lea eax, [esp + 0x1c]
mov ecx, esi
lea esi, [esp + 0xc]
mov edx, esp
push eax
push esi
call fcn.00484be0
jmp 0x481a73
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x38], eax
lea eax, [esi + 0x14]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
jmp 0x481361
push eax
push edi
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x481bb8
lea ebx, [eax + ebp]
sar ebp, 1
mov dword [esi + 0xc], ebx
lea eax, [eax + ebp*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
mov dword [ebx], eax
mov ebx, dword [esi]
mov eax, dword [esi + 4]
cmp ebx, eax
je 0x48136e
cmp byte [ebx], 0x5f
je 0x481696
mov ecx, esi
call fcn.00480b10
test eax, eax
je case.0x480d20.10
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x481354
mov dword [esp + 8], eax
mov edi, dword [esi + 8]
mov ebp, ebx
sub ebp, edi
lea eax, [ebp*2]
cmp edi, dword [esp + 0x28]
jne 0x48132d
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481bc2
cmp ebx, dword [esp + 0x28]
je 0x4813c7
push ebp
push edi
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x481342
xor ebx, ebx
mov ecx, esi
call fcn.00480b10
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x48167b
movzx ebx, byte [ecx + 3]
mov ebp, dword [ecx + 4]
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x481432
mov esi, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481bd6
mov dword [eax], edi
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, esi
lea edx, [ecx + 0x20]
mov dword [edi + 4], edx
mov byte [edi + ecx + 0xc], 0x41
mov edx, dword [edi + ecx + 0x10]
and ebp, 0x3f
and edx, 0xffffffc0
or edx, ebp
mov dword [edi + ecx + 0x10], edx
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x49f504
mov dword [edi + ecx + 0x18], eax
mov eax, dword [esp + 0x24]
mov byte [edi + ecx + 0x1c], al
and bl, 1
mov byte [edi + ecx + 0x1d], bl
jmp 0x481675
movzx ebx, byte [esi + 0x184]
mov byte [esi + 0x184], 0
mov ecx, esi
call fcn.0047c250
mov dword [esp + 0x1c], eax
mov byte [esi + 0x184], bl
xor ebx, ebx
test eax, eax
je 0x48167b
mov eax, dword [esi + 0xc]
sub eax, dword [esi + 8]
sar eax, 2
mov dword [esp + 0x24], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x481682
cmp byte [eax], 0x5f
jne 0x481682
inc eax
mov dword [esi], eax
lea edx, [esi + 0x14]
mov dword [esp + 0x18], edx
jmp 0x48150a
push eax
push edi
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x48175b
lea ebx, [eax + ebp]
sar ebp, 1
mov dword [esi + 0xc], ebx
lea eax, [eax + ebp*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
lea ecx, [ebx + 4]
mov dword [esi + 0xc], ecx
mov dword [ebx], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
xor ebx, ebx
cmp eax, ecx
je 0x481517
cmp byte [eax], 0x45
je 0x481889
mov ecx, esi
call fcn.00480b10
test eax, eax
je 0x48167b
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x4814fb
mov dword [esp + 8], eax
mov edi, dword [esi + 8]
mov ebp, ebx
sub ebp, edi
lea eax, [ebp*2]
cmp edi, dword [esp + 0x18]
jne 0x4814d4
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481bcc
cmp ebx, dword [esp + 0x18]
je 0x48156c
push ebp
push edi
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
add esp, 0xc
mov esi, dword [esp + 0x14]
mov dword [esi + 8], eax
jmp 0x4814e9
mov ecx, esi
call fcn.00480b10
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x1c]
mov ecx, esi
lea esi, [esp + 0x30]
mov edx, esp
push eax
push esi
call fcn.00481c00
jmp 0x481a73
add edi, 2
mov dword [esi], edi
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x483b70
mov ecx, esi
call fcn.00480b10
test eax, eax
mov ecx, dword [esp + 0x10]
je 0x48167b
mov ebx, dword [ecx + 4]
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfc8]
cmp edx, 0xfffff007
ja 0x481623
mov esi, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481bdb
mov dword [eax], edi
mov dword [eax + 4], 0
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, esi
lea edx, [ecx + 0x30]
mov dword [edi + 4], edx
mov byte [edi + ecx + 0xc], 0x3c
mov edx, dword [edi + ecx + 0x10]
and ebx, 0x3f
and edx, 0xffffffc0
or edx, ebx
mov dword [edi + ecx + 0x10], edx
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x49f70c
mov edx, dword [esp + 8]
mov dword [edi + ecx + 0x1c], edx
mov dword [edi + ecx + 0x18], ebp
mov dword [edi + ecx + 0x20], eax
mov dword [edi + ecx + 0x24], 0
mov dword [edi + ecx + 0x28], 0
lea ebx, [edi + ecx]
add ebx, 8
mov eax, ebx
jmp 0x480b27
cmp eax, ecx
je 0x48170e
cmp byte [eax], 0x45
jne 0x48170e
xor ebx, ebx
jmp 0x48188b
inc ebx
mov dword [esi], ebx
mov ecx, esi
mov edx, dword [esp + 0x38]
call fcn.0047e120
mov dword [esp + 4], edx
mov dword [esp], eax
mov ecx, esi
call fcn.0047c250
mov dword [esp + 0xc], eax
xor ebx, ebx
test eax, eax
je 0x48167b
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x4816d5
cmp word [eax], 0x6970
je 0x4818fb
cmp eax, ecx
je 0x48167b
cmp byte [eax], 0x45
jne 0x48167b
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
jmp 0x481aa6
add edi, 2
mov dword [esi], edi
mov ecx, esi
call fcn.00480b10
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov edx, esp
mov ecx, esi
call fcn.00483e90
jmp 0x480b27
mov ecx, esi
call fcn.00480b10
test eax, eax
je 0x48167b
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x481a2b
mov dword [esp + 8], eax
lea ecx, [esi + 0x14]
mov ebx, dword [esi + 8]
mov edi, ebp
sub edi, ebx
lea eax, [edi + edi]
cmp ebx, ecx
je 0x4819ea
push eax
push ebx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
mov ecx, dword [esp + 8]
jne 0x481a1b
call sub.msvcrt.dll_abort
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.0047e120
mov dword [esp + 4], edx
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
mov esi, esp
lea edx, [esp + 0x1c]
push eax
push esi
call fcn.00481f00
jmp 0x481a73
add edi, 2
mov dword [esi], edi
cmp dword [esp + 0x18], edi
je 0x4817ce
cmp byte [edi], 0x54
jne 0x4817ce
mov ecx, esi
call fcn.0047fb60
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov edx, esp
mov ecx, esi
call fcn.00483f10
jmp 0x480b27
mov ecx, esi
call 0x482c90
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
jmp 0x4818ed
add edi, 2
mov dword [esi], edi
mov ecx, eax
mov eax, edi
lea edi, [esi + 8]
mov ebx, dword [esi + 0xc]
sub ebx, dword [esi + 8]
sar ebx, 2
mov ebp, esp
cmp eax, ecx
je 0x481809
cmp byte [eax], 0x45
je 0x4818ce
mov ecx, esi
call fcn.0047dd30
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov ecx, edi
mov edx, ebp
call fcn.0047e000
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
jne 0x481800
jmp 0x481809
add edi, 2
mov dword [esi], edi
mov ecx, esi
call fcn.0047c250
mov dword [esp + 0x30], eax
test eax, eax
je case.0x480d20.10
lea ebp, [esi + 8]
mov edi, dword [esi + 0xc]
sub edi, dword [esi + 8]
sar edi, 2
mov ebx, esp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x481865
cmp byte [eax], 0x45
je 0x481a7b
mov ecx, esi
call fcn.004831f0
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov ecx, ebp
mov edx, ebx
call fcn.0047e000
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x48185c
jmp 0x481865
mov bl, 1
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.0047e120
mov dword [esp + 4], edx
mov dword [esp], eax
test bl, bl
jne 0x481a4f
cmp edx, 1
jne case.0x480d20.10
jmp 0x481a4f
add edi, 2
mov dword [esi], edi
mov ecx, esi
mov edx, str.throw
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x484150
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, ebx
call fcn.0047e120
mov dword [esp + 4], edx
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.00484030
mov dword [esp], eax
mov edx, esp
mov ecx, esi
call fcn.00483f90
jmp 0x480b27
add eax, 2
mov dword [esi], eax
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
mov dword [esp + 0x18], edx
jmp 0x481943
push eax
push edi
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x481be0
lea ebp, [eax + ebx]
sar ebx, 1
mov dword [esi + 0xc], ebp
lea eax, [eax + ebx*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp + 8]
xor ebx, ebx
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x481950
cmp byte [eax], 0x45
je 0x481aa2
mov ecx, esi
call fcn.00480b10
test eax, eax
je 0x48167b
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x481935
mov dword [esp + 8], eax
mov edi, dword [esi + 8]
mov ebx, ebp
sub ebx, edi
lea eax, [ebx + ebx]
cmp edi, dword [esp + 0x28]
jne 0x48190c
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481be5
cmp ebp, dword [esp + 0x28]
je 0x4819a5
push ebx
push edi
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
mov esi, dword [esp + 0x20]
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x481921
add edi, 2
mov dword [esi], edi
mov ecx, esi
call fcn.00480b10
mov dword [esp], eax
test eax, eax
je case.0x480d20.10
mov edx, esp
mov ecx, esi
call fcn.004841e0
jmp 0x480b27
xor edx, edx
cmp dword [esp + 0x10], 0
sete dl
mov ecx, esi
add esp, 0x3c
pop esi
pop edi
pop ebx
pop ebp
jmp 0x484260
mov esi, ecx
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x481bcc
cmp ebp, esi
je 0x481a10
push edi
push ebx
push eax
mov esi, eax
call sub.msvcrt.dll_memmove
mov eax, esi
add esp, 0xc
mov esi, dword [esp + 0x14]
mov dword [esi + 8], eax
mov ecx, dword [esp + 8]
lea ebp, [eax + edi]
sar edi, 1
mov dword [esi + 0xc], ebp
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, ecx
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov ecx, esi
mov edx, dword [esp + 0x24]
call fcn.0047e120
mov dword [esp + 4], edx
mov dword [esp], eax
cmp edx, 1
jne case.0x480d20.10
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 4]
shl eax, 0x19
sar eax, 0x19
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
mov ecx, esi
mov esi, esp
lea edx, [esp + 0x1c]
push eax
push esi
call fcn.00481fb0
add esp, 8
jmp 0x480b27
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, edi
call fcn.0047e120
mov dword [esp + 4], edx
mov dword [esp], eax
lea edx, [esp + 0x30]
mov ecx, esi
push ebx
call fcn.004840c0
add esp, 4
jmp 0x480b27
mov edx, dword [esp + 0x18]
sar edx, 2
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0047e120
mov dword [esp + 0x20], edx
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx + 3]
and al, 1
mov ecx, dword [ecx + 4]
shl ecx, 0x19
sar ecx, 0x19
mov dword [esp + 0x2c], ecx
mov ecx, esi
lea esi, [esp + 0x2c]
movzx eax, al
movzx edi, byte [esp + 0x24]
lea ebx, [esp + 0x1c]
lea ebp, [esp + 0xc]
mov edx, esp
push esi
push eax
push edi
push ebx
push ebp
call fcn.00481e20
add esp, 0x14
jmp 0x480b27
inc eax
mov dword [esi], eax
sar edi, 2
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov edx, edi
call fcn.0047e120
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0xc], 1
lea eax, [esp + 0xc]
mov esi, esp
lea edx, [esp + 0x30]
mov ecx, ebx
push eax
push esi
call fcn.00481f00
add esp, 8
jmp 0x480b27
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x480f8d
cmp byte [eax], 0x74
jne 0x481b57
inc eax
mov ecx, dword [esp + 0x14]
mov dword [ecx], eax
call fcn.0047c250
jmp 0x481b6e
cmp byte [eax], 0x7a
mov esi, dword [esp + 0x14]
jne 0x480f8d
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00480b10
mov dword [esp + 0x1c], eax
test eax, eax
je case.0x480d20.10
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0xc]
lea ecx, [eax + 8]
sub edi, dword [eax + 8]
lea edx, [esp + 0x1c]
call fcn.0047e000
jmp 0x481aff
call sub.msvcrt.dll_abort
push str.operator_name_does_not_start_with_operator
push 0xb49
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str._s:_d:__s
call fcn.0046f410
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
call fcn.00469cf0
call fcn.00469cf0
call fcn.00469cf0
call sub.msvcrt.dll_abort
call sub.msvcrt.dll_abort
mov byte [esi + 0x184], bl
push eax
call fcn.0046cac0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
xor eax, eax
cmp edx, esi
je case.0x482205.84
cmp byte [edx], 0x4c
jne case.0x482205.84
lea edi, [edx + 1]
mov dword [ecx], edi
mov ebx, esi
sub ebx, edi
je case.0x482205.66
movzx ebp, byte [edi]
add ebp, 0xffffffbf
cmp ebp, 0x38
ja case.0x482205.66
jmp dword [ebp*4 + 0x4a1c40]
mov esi, ecx
call fcn.0047c250
mov ecx, eax
mov dword [esp], eax
xor eax, eax
test ecx, ecx
je case.0x482205.84
mov edx, dword [esi]
cmp edx, dword [esi + 4]
je case.0x482205.84
cmp byte [edx], 0x45
jne case.0x482205.84
mov ecx, esi
inc edx
mov dword [esi], edx
mov edx, esp
call fcn.00485ed0
jmp case.0x482205.84
mov esi, ecx
call fcn.0047c250
mov dword [esp + 8], eax
test eax, eax
je 0x482c2d
mov ecx, esi
mov edi, dword [esi]
mov esi, dword [esi + 4]
mov edx, edi
cmp edi, esi
je 0x482273
cmp byte [edi], 0x6e
mov edx, edi
jne 0x482273
lea edx, [edi + 1]
mov dword [ecx], edx
xor eax, eax
cmp esi, edx
je case.0x482205.84
movsx ebx, byte [edx]
add ebx, 0xffffffd0
cmp ebx, 9
ja case.0x482205.84
nop dword [eax]
movsx ebx, byte [edx]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x4822a6
inc edx
mov dword [ecx], edx
cmp edx, esi
jne 0x482290
mov ebx, esi
jmp 0x4822a8
mov ebx, edx
mov dword [esp], edi
sub ebx, edi
mov dword [esp + 4], ebx
sete bl
cmp edx, esi
sete bh
or bh, bl
jne case.0x482205.84
cmp byte [edx], 0x45
jne case.0x482205.84
inc edx
mov dword [ecx], edx
mov eax, esp
lea edx, [esp + 8]
push eax
call fcn.00486700
add esp, 4
jmp case.0x482205.84
add edx, 2
mov dword [ecx], edx
mov edx, str.short
push 5
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, 0x49f7b3
push 2
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, 0x49f7ac
jmp 0x482668
lea edi, [edx + 2]
mov dword [ecx], edi
mov ebx, esi
sub ebx, edi
cmp ebx, 9
jb case.0x482205.84
movzx ebx, byte [edx + 2]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 3]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 4]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 5]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 6]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 7]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
mov ebx, ecx
movzx eax, byte [edx + 8]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 9]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
lea eax, [edx + 0xa]
mov dword [ebx], eax
cmp eax, esi
je 0x482c2d
cmp byte [eax], 0x45
mov eax, 0
jne case.0x482205.84
add edx, 0xb
mov dword [ebx], edx
mov esi, dword [ebx + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x482480
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x482c7e
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x4e
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x49f8b8
mov dword [esi + ecx + 0x18], edi
mov dword [esi + ecx + 0x1c], 8
jmp case.0x482205.84
cmp ebx, 2
jb case.0x482205.84
cmp word [edi], 0x6e44
jne case.0x482205.84
lea edi, [edx + 3]
mov dword [ecx], edi
cmp edi, esi
je 0x4824e7
cmp byte [edi], 0x30
jne 0x4824e7
add edx, 4
mov dword [ecx], edx
mov edi, edx
cmp edi, esi
je case.0x482205.84
cmp byte [edi], 0x45
jne case.0x482205.84
inc edi
mov dword [ecx], edi
mov edx, str.nullptr
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
jmp 0x485f50
cmp ebx, 2
jb case.0x482205.84
cmp word [edi], 0x5a5f
jne case.0x482205.84
add edx, 3
mov dword [ecx], edx
mov esi, ecx
call fcn.0047b750
test eax, eax
je 0x482c2d
mov ecx, eax
mov edx, esi
mov esi, dword [esi]
cmp esi, dword [edx + 4]
mov eax, 0
je case.0x482205.84
cmp byte [esi], 0x45
jne case.0x482205.84
inc esi
mov dword [edx], esi
mov eax, ecx
jmp case.0x482205.84
add edx, 2
mov dword [ecx], edx
mov edx, 0x49f7b6
push 3
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, 0x49e7fd
push 0
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, str.unsigned_short
push 0xe
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, str.signed_char
push 0xb
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, str.unsigned_char
push 0xd
jmp 0x482c5f
cmp ebx, 2
jb case.0x482205.84
cmp byte [edx + 2], 0x6c
jne case.0x482205.84
mov esi, ecx
xor edx, edx
call fcn.00485fe0
mov dword [esp], eax
test eax, eax
je 0x482c2d
mov edx, dword [esi]
cmp edx, dword [esi + 4]
je 0x482c2d
cmp byte [edx], 0x45
mov eax, 0
jne case.0x482205.84
mov ecx, esi
inc edx
mov dword [esi], edx
mov edx, esp
call fcn.00486680
jmp case.0x482205.84
cmp ebx, 3
jb case.0x482205.84
movzx esi, word [edi]
xor esi, 0x3062
movzx ebx, byte [edi + 2]
xor ebx, 0x45
or bx, si
je 0x482c69
movzx esi, word [edi]
xor esi, 0x3162
movzx edi, byte [edi + 2]
xor edi, 0x45
or di, si
jne case.0x482205.84
add edx, 4
mov dword [ecx], edx
mov dword [esp], 1
jmp 0x482c75
add edx, 2
mov dword [ecx], edx
mov edx, str.char
push 4
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, 0x49f7ae
push 1
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, 0x49f7b0
push 2
jmp 0x482c5f
lea edi, [edx + 2]
mov dword [ecx], edi
mov ebx, esi
sub ebx, edi
cmp ebx, 0x15
jb case.0x482205.84
movzx ebx, byte [edx + 2]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 3]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 4]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 5]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 6]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 7]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
mov ebx, ecx
movzx eax, byte [edx + 8]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 9]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xa]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xb]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xc]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xd]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xe]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xf]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0x10]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0x11]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0x12]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0x13]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0x14]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0x15]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
lea eax, [edx + 0x16]
mov dword [ebx], eax
cmp eax, esi
je 0x482c2d
cmp byte [eax], 0x45
mov eax, 0
jne case.0x482205.84
add edx, 0x17
mov dword [ebx], edx
mov esi, dword [ebx + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x482956
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x482c7e
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x50
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x49f998
mov dword [esi + ecx + 0x18], edi
mov dword [esi + ecx + 0x1c], 0x14
jmp case.0x482205.84
lea edi, [edx + 2]
mov dword [ecx], edi
mov ebx, esi
sub ebx, edi
cmp ebx, 0x11
jb case.0x482205.84
movzx ebx, byte [edx + 2]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 3]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 4]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 5]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 6]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
movzx ebx, byte [edx + 7]
mov bh, bl
add bh, 0xd0
cmp bh, 0xa
setae bh
add bl, 0x9f
cmp bl, 6
setae bl
test bh, bl
jne case.0x482205.84
mov ebx, ecx
movzx eax, byte [edx + 8]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 9]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xa]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xb]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xc]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xd]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xe]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0xf]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0x10]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
movzx eax, byte [edx + 0x11]
mov ecx, eax
add cl, 0xd0
cmp cl, 0xa
setae cl
add al, 0x9f
cmp al, 6
setae al
test cl, al
jne 0x482c2d
lea eax, [edx + 0x12]
mov dword [ebx], eax
cmp eax, esi
je 0x482c2d
cmp byte [eax], 0x45
mov eax, 0
jne case.0x482205.84
add edx, 0x13
mov dword [ebx], edx
mov esi, dword [ebx + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x482bf2
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x482c7e
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebx + 0x1198], eax
xor ecx, ecx
mov esi, eax
lea eax, [ecx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + ecx + 0xc], 0x4f
and byte [esi + ecx + 0x10], 0xc0
lea eax, [esi + ecx]
add eax, 8
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x49f928
mov dword [esi + ecx + 0x18], edi
mov dword [esi + ecx + 0x1c], 0x10
jmp case.0x482205.84
xor eax, eax
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
add edx, 2
mov dword [ecx], edx
mov edx, str.unsigned___int128
push 0x11
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, str.__int128
push 8
jmp 0x482c5f
add edx, 2
mov dword [ecx], edx
mov edx, str.wchar_t
push 7
call fcn.00485d40
add esp, 0x10
jmp 0x482c32
add edx, 4
mov dword [ecx], edx
mov dword [esp], 0
mov edx, esp
call fcn.00485e50
jmp case.0x482205.84
call fcn.00469cf0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edi, dword [ecx]
mov edx, dword [ecx + 4]
mov esi, edx
sub esi, edi
cmp esi, 3
jae 0x482cb1
xor eax, eax
cmp esi, 2
je 0x482cc9
jmp 0x482f67
movzx eax, word [edi]
xor eax, 0x7066
movzx esi, byte [edi + 2]
xor esi, 0x54
or si, ax
je 0x482d99
cmp word [edi], 0x7066
je 0x482d1d
xor eax, eax
cmp word [edi], 0x4c66
jne 0x482f67
add edi, 2
mov dword [ecx], edi
cmp edx, edi
je 0x482f67
movsx esi, byte [edi]
add esi, 0xffffffd0
cmp esi, 9
ja 0x482f67
mov ebx, edi
nop dword [eax + eax]
movsx esi, byte [ebx]
add esi, 0xffffffd0
cmp esi, 9
ja 0x482eb2
inc ebx
mov dword [ecx], ebx
cmp ebx, edx
jne 0x482d00
mov esi, edx
jmp 0x482eb4
lea esi, [edi + 2]
mov dword [ecx], esi
cmp esi, edx
je 0x482d32
cmp byte [esi], 0x72
jne 0x482d32
add edi, 3
mov dword [ecx], edi
mov esi, edi
cmp esi, edx
je 0x482d3e
cmp byte [esi], 0x56
jne 0x482d3e
inc esi
mov dword [ecx], esi
cmp esi, edx
je 0x482d4a
cmp byte [esi], 0x4b
jne 0x482d4a
inc esi
mov dword [ecx], esi
xor eax, eax
cmp edx, esi
je 0x482e20
movsx edi, byte [esi]
add edi, 0xffffffd0
cmp edi, 9
ja 0x482e20
mov edi, esi
mov ebp, esi
nop word [eax + eax]
movsx ebx, byte [ebp]
add ebx, 0xffffffd0
cmp ebx, 9
ja 0x482d86
inc ebp
mov dword [ecx], ebp
inc edi
cmp ebp, edx
jne 0x482d70
mov edi, edx
mov ebx, esi
sub edi, esi
mov esi, ebp
cmp esi, edx
jne 0x482e2c
jmp 0x482f67
add edi, 3
mov dword [ecx], edi
mov esi, dword [ecx + 0x1198]
mov edx, dword [esi + 4]
lea eax, [edx - 0xfd8]
cmp eax, 0xfffff007
ja 0x482dde
mov edi, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x482f6f
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor edx, edx
mov esi, eax
lea eax, [edx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + edx + 0xc], 8
and byte [esi + edx + 0x10], 0xc0
lea eax, [esi + edx]
add eax, 8
movzx ecx, byte [esi + edx + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [esi + edx + 0x14], cl
mov dword [esi + edx + 8], 0x49eb88
mov dword [esi + edx + 0x18], str.this
mov dword [esi + edx + 0x1c], 4
jmp 0x482f67
xor edi, edi
xor ebx, ebx
cmp esi, edx
je 0x482f67
cmp byte [esi], 0x5f
jne 0x482f67
inc esi
mov dword [ecx], esi
mov esi, dword [ecx + 0x1198]
mov edx, dword [esi + 4]
lea eax, [edx - 0xfd8]
cmp eax, 0xfffff007
ja 0x482e78
mov ebp, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x482f6f
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor edx, edx
mov esi, eax
lea eax, [edx + 0x20]
mov dword [esi + 4], eax
mov byte [esi + edx + 0xc], 0x43
and byte [esi + edx + 0x10], 0xc0
lea eax, [esi + edx]
add eax, 8
movzx ecx, byte [esi + edx + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [esi + edx + 0x14], cl
mov dword [esi + edx + 8], 0x49ff48
mov dword [esi + edx + 0x1c], edi
mov dword [esi + edx + 0x18], ebx
jmp 0x482f67
mov esi, ebx
cmp esi, edi
sete byte [esp + 3]
mov ebp, edx
cmp ebx, edx
sete dl
or dl, byte [esp + 3]
jne 0x482f67
cmp byte [ebx], 0x70
jne 0x482f67
mov edx, ebp
lea esi, [ebx + 1]
mov dword [ecx], esi
cmp esi, ebp
je 0x482eec
cmp byte [esi], 0x72
jne 0x482eec
add ebx, 2
mov dword [ecx], ebx
mov esi, ebx
cmp esi, edx
je 0x482ef8
cmp byte [esi], 0x56
jne 0x482ef8
inc esi
mov dword [ecx], esi
cmp esi, edx
je 0x482f04
cmp byte [esi], 0x4b
jne 0x482f04
inc esi
mov dword [ecx], esi
xor eax, eax
cmp edx, esi
je 0x482f32
movsx edx, byte [esi]
add edx, 0xffffffd0
cmp edx, 9
ja 0x482f38
mov edi, esi
mov ebx, esi
movsx edx, byte [ebx]
add edx, 0xffffffd0
cmp edx, 9
ja 0x482f40
inc ebx
mov dword [ecx], ebx
inc edi
cmp ebx, ebp
jne 0x482f19
mov edx, ebp
mov edi, ebp
jmp 0x482f42
xor edi, edi
xor ebx, ebx
jmp 0x482f4a
xor edi, edi
xor ebx, ebx
mov edx, ebp
jmp 0x482f4a
mov edx, ebp
mov ebp, esi
sub edi, esi
mov esi, ebx
mov ebx, ebp
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
cmp esi, edx
je 0x482f67
cmp byte [esi], 0x5f
jne 0x482f67
inc esi
mov dword [ecx], esi
lea edx, [esp + 4]
call fcn.00488c70
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00469cf0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0xc
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
xor eax, eax
cmp edx, esi
je case.0x482fc6.77
cmp byte [edx], 0x66
jne case.0x482fc6.77
lea edi, [edx + 1]
mov dword [ecx], edi
cmp esi, edi
je case.0x482fc6.77
movzx edi, byte [edi]
xor eax, eax
add edi, 0xffffffb4
cmp edi, 0x26
ja case.0x482fc6.77
xor ebx, ebx
mov dword [esp], 0
jmp dword [edi*4 + 0x4a1d24]
mov bl, 1
mov dword [esp], ebx
mov bl, 1
jmp case.0x482fc6.114
mov bl, 1
mov dword [esp], ebx
xor ebx, ebx
jmp case.0x482fc6.114
mov bl, 1
mov dword [esp], 0
lea edi, [edx + 2]
mov dword [ecx], edi
sub esi, edi
cmp esi, 2
jb case.0x482fc6.77
mov dword [esp + 4], ebx
movzx ebx, byte [edx + 2]
xor eax, eax
mov esi, 0x3d
jmp 0x483017
inc edi
mov eax, edi
cmp esi, eax
je 0x483040
lea edi, [eax + esi]
shr edi, 1
lea ebp, [edi*4]
cmp bl, byte [ebp + ebp*2 + 0x49ef70]
jg 0x483010
jne 0x48303a
mov bh, byte [ebp + ebp*2 + 0x49ef71]
cmp byte [edx + 3], bh
jg 0x483010
mov esi, edi
cmp esi, eax
jne 0x483017
lea esi, [eax + eax*2]
xor eax, eax
cmp bl, byte [esi*4 + 0x49ef70]
jne case.0x482fc6.77
lea edi, [esi*4 + 0x49ef70]
movzx ebx, byte [edx + 3]
cmp bl, byte [edi + 1]
jne case.0x482fc6.77
add edx, 4
mov dword [ecx], edx
movzx edx, byte [edi + 2]
cmp edx, 2
je 0x48309c
cmp edx, 4
jne case.0x482fc6.77
mov ebx, dword [edi + 8]
push ebx
mov esi, ecx
call sub.msvcrt.dll_strlen
mov ecx, esi
add esp, 4
mov edx, eax
xor eax, eax
cmp byte [ebx + edx - 1], 0x2a
jne case.0x482fc6.77
mov ebp, ecx
call fcn.00480b10
mov esi, eax
xor eax, eax
test esi, esi
mov ebx, dword [esp + 4]
je case.0x482fc6.77
cmp byte [esp], 0
je 0x4830d9
mov ecx, ebp
call fcn.00480b10
test eax, eax
je 0x4831bf
test bl, bl
mov ecx, esi
cmovne ecx, eax
cmovne eax, esi
mov dword [esp], eax
mov esi, ecx
jmp 0x4830e0
mov dword [esp], 0
mov ebx, dword [edi + 8]
push ebx
call sub.msvcrt.dll_strlen
add esp, 4
cmp eax, 8
jb 0x4831c3
mov ecx, 0x7265706f
xor ecx, dword [ebx]
mov edx, 0x726f7461
xor edx, dword [ebx + 4]
or edx, ecx
jne 0x4831c3
lea edx, [ebx + 8]
mov edi, eax
add edi, 0xfffffff8
mov ecx, ebp
je 0x483129
cmp byte [edx], 0x20
jne 0x48312b
add ebx, 9
add eax, 0xfffffff7
mov edx, ebx
mov edi, eax
jmp 0x48312b
xor edi, edi
mov ebx, dword [ecx + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x483171
mov dword [esp + 8], edx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4831dc
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [ebp + 0x1198], eax
xor ecx, ecx
mov ebx, eax
mov edx, dword [esp + 8]
lea eax, [ecx + 0x30]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x47
and byte [ebx + ecx + 0x10], 0xc0
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x49ffb4
mov dword [ebx + ecx + 0x18], esi
mov eax, dword [esp]
mov dword [ebx + ecx + 0x1c], eax
mov dword [ebx + ecx + 0x24], edi
mov dword [ebx + ecx + 0x20], edx
mov eax, dword [esp + 4]
mov byte [ebx + ecx + 0x28], al
lea eax, [ebx + ecx]
add eax, 8
add esp, 0xc
pop esi
pop edi
pop ebx
pop ebp
ret
xor eax, eax
jmp case.0x482fc6.77
push str.operator_name_does_not_start_with_operator
push 0xb49
push str._home_runner_work_llvm_mingw_llvm_mingw_llvm_project_libcxxabi_src_demangle_ItaniumDemangle.h
push str._s:_d:__s
call fcn.0046f410
call fcn.00469cf0
int3
push ebp
push ebx
push edi
push esi
sub esp, 8
mov esi, ecx
call fcn.0047c250
xor edi, edi
test eax, eax
je 0x483615
mov dword [esp + 4], eax
mov ecx, esi
call fcn.00480b10
test eax, eax
je 0x483615
mov ebx, dword [esi]
mov edx, dword [esi + 4]
mov ecx, ebx
cmp ebx, edx
je 0x483532
cmp byte [ebx], 0x6e
mov ecx, ebx
jne 0x483532
lea ecx, [ebx + 1]
mov dword [esi], ecx
xor edi, edi
cmp edx, ecx
je 0x483566
movsx ebp, byte [ecx]
add ebp, 0xffffffd0
cmp ebp, 9
ja 0x483566
nop word cs:[eax + eax]
movsx ebp, byte [ecx]
add ebp, 0xffffffd0
cmp ebp, 9
ja 0x483573
inc ecx
mov dword [esi], ecx
cmp ecx, edx
jne 0x483550
mov ebp, edx
jmp 0x483575
xor ebp, ebp
xor ebx, ebx
cmp ecx, edx
jne 0x48357f
jmp 0x483615
mov ebp, ecx
sub ebp, ebx
cmp ecx, edx
je 0x483615
cmp byte [ecx], 0x45
jne 0x483615
inc ecx
mov dword [esi], ecx
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x4835cc
mov dword [esp], eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x48361f
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, dword [esp]
lea esi, [ecx + 0x20]
mov dword [edi + 4], esi
mov byte [edi + ecx + 0xc], 0x45
mov esi, dword [edi + ecx + 0x10]
and esi, 0xffffffc0
or esi, 2
mov dword [edi + ecx + 0x10], esi
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x4a01cc
mov edx, dword [esp + 4]
mov dword [edi + ecx + 0x18], edx
mov dword [edi + ecx + 0x1c], eax
mov dword [edi + ecx + 0x24], ebp
mov dword [edi + ecx + 0x20], ebx
add edi, ecx
add edi, 8
mov eax, edi
add esp, 8
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00469cf0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 2
jb 0x483709
cmp word [eax], 0x5172
je 0x483713
cmp word [eax], 0x7172
je 0x4837bb
xor eax, eax
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret
add eax, 2
mov dword [esi], eax
mov edx, dword [esi + 0xc]
sub edx, dword [esi + 8]
sar edx, 2
mov dword [esp + 8], edx
lea edx, [esi + 0x14]
mov dword [esp + 4], edx
jmp 0x483761
push eax
push ebx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x483b64
lea ebp, [eax + edi]
sar edi, 1
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov eax, dword [esp]
lea ecx, [ebp + 4]
mov dword [esi + 0xc], ecx
mov dword [ebp], eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x48376a
cmp byte [eax], 0x5f
je 0x4837d9
mov ecx, esi
call fcn.0047c250
test eax, eax
je 0x483709
mov ebp, dword [esi + 0xc]
cmp ebp, dword [esi + 0x10]
jne 0x483753
mov dword [esp], eax
mov ebx, dword [esi + 8]
mov edi, ebp
sub edi, ebx
lea eax, [edi + edi]
cmp ebx, dword [esp + 4]
jne 0x483730
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x483b64
cmp ebp, dword [esp + 4]
je 0x4837b6
push edi
push ebx
push eax
mov ebx, eax
call sub.msvcrt.dll_memmove
mov eax, ebx
add esp, 0xc
mov dword [esi + 8], eax
jmp 0x483745
add eax, 2
mov dword [esi], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
cmp eax, ecx
jne 0x4837fc
jmp 0x483709
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 8]
call fcn.0047e120
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x483709
mov ecx, dword [esi + 0xc]
sub ecx, dword [esi + 8]
sar ecx, 2
mov dword [esp + 0x10], ecx
lea ecx, [esi + 0x14]
mov dword [esp + 4], ecx
jmp 0x483828
cmp eax, ecx
je 0x483709
cmp byte [eax], 0x58
jne 0x483870
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00480b10
test eax, eax
je 0x483709
mov ebx, eax
mov eax, dword [esi]
mov ecx, dword [esi + 4]
xor ebp, ebp
cmp eax, ecx
je 0x483900
cmp byte [eax], 0x4e
jne 0x483900
inc eax
mov dword [esi], eax
mov dl, 1
mov dword [esp], edx
cmp eax, ecx
jne 0x48390b
jmp 0x483928
cmp byte [eax], 0x54
jne 0x4839c0
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0047c250
test eax, eax
je 0x483709
mov edi, eax
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4838cb
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x483b69
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x55
and byte [ebx + ecx + 0x10], 0xc0
lea edx, [ebx + ecx]
add edx, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4a02b4
jmp 0x483a46
mov dword [esp], 0
cmp eax, ecx
je 0x483928
cmp byte [eax], 0x52
jne 0x483928
inc eax
mov dword [esi], eax
mov ecx, esi
xor edx, edx
call fcn.0047d680
mov ebp, eax
xor eax, eax
test ebp, ebp
je 0x48370b
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x483966
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x483b69
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
lea eax, [ecx + 0x20]
mov dword [edi + 4], eax
lea edx, [edi + ecx]
add edx, 8
mov byte [edi + ecx + 0xc], 0x54
and byte [edi + ecx + 0x10], 0xc0
movzx eax, byte [edi + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [edi + ecx + 0x14], al
mov dword [edi + ecx + 8], 0x4a0248
mov dword [edi + ecx + 0x18], ebx
mov eax, dword [esp]
mov byte [edi + ecx + 0x1c], al
mov dword [edi + ecx + 0x20], ebp
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x483ab2
jmp 0x483a52
cmp byte [eax], 0x51
jne 0x483709
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.00480b10
test eax, eax
je 0x483709
mov edi, eax
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x483a1b
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x483b69
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x56
and byte [ebx + ecx + 0x10], 0xc0
lea edx, [ebx + ecx]
add edx, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4a0320
mov dword [ebx + ecx + 0x18], edi
mov ebx, dword [esi + 0xc]
cmp ebx, dword [esi + 0x10]
jne 0x483ab2
mov dword [esp], edx
mov ebp, dword [esi + 8]
mov edi, ebx
sub edi, ebp
lea eax, [edi + edi]
cmp ebp, dword [esp + 4]
je 0x483a7b
push eax
push ebp
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [esi + 8], eax
test eax, eax
jne 0x483aa4
jmp 0x483b64
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x483b64
cmp ebx, dword [esp + 4]
je 0x483aa1
push edi
push ebp
push eax
mov ebx, eax
call sub.msvcrt.dll_memmove
mov eax, ebx
add esp, 0xc
mov dword [esi + 8], eax
lea ebx, [eax + edi]
sar edi, 1
lea eax, [eax + edi*4]
mov dword [esi + 0x10], eax
mov edx, dword [esp]
lea eax, [ebx + 4]
mov dword [esi + 0xc], eax
mov dword [ebx], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
cmp eax, ecx
je 0x483820
cmp byte [eax], 0x45
jne 0x483820
inc eax
mov dword [esi], eax
mov ecx, esi
mov edx, dword [esp + 0x10]
call fcn.0047e120
mov edi, eax
mov ebx, edx
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x483b1c
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x483b69
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x53
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x4a0390
mov eax, dword [esp + 8]
mov dword [ebp + ecx + 0x18], eax
mov eax, dword [esp + 0xc]
mov dword [ebp + ecx + 0x1c], eax
mov dword [ebp + ecx + 0x24], ebx
mov dword [ebp + ecx + 0x20], edi
lea eax, [ecx + ebp]
add eax, 8
jmp 0x48370b
call sub.msvcrt.dll_abort
call fcn.00469cf0
int3
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov edi, ecx
call fcn.0047c250
xor ebp, ebp
test eax, eax
je 0x483e6e
mov dword [esp + 8], eax
mov ecx, edi
call fcn.00480b10
mov dword [esp + 0x18], eax
test eax, eax
je 0x483e6e
mov esi, dword [edi]
mov ecx, dword [edi + 4]
mov eax, esi
cmp esi, ecx
je 0x483bb6
cmp byte [esi], 0x6e
mov eax, esi
jne 0x483bb6
lea eax, [esi + 1]
mov dword [edi], eax
xor ebx, ebx
cmp ecx, eax
je 0x483be6
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x483be6
nop word [eax + eax]
movsx edx, byte [eax]
add edx, 0xffffffd0
cmp edx, 9
ja 0x483bea
inc eax
mov dword [edi], eax
cmp eax, ecx
jne 0x483bd0
mov ebx, ecx
jmp 0x483bec
xor esi, esi
jmp 0x483bee
mov ebx, eax
sub ebx, esi
mov dword [esp + 0x10], ebx
mov edx, dword [edi + 0xc]
sub edx, dword [edi + 8]
mov dword [esp + 0x14], edx
cmp eax, ecx
je 0x483d8e
lea edx, [edi + 0x14]
mov dword [esp + 0xc], edx
mov dword [esp + 4], esi
jmp 0x483c8f
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor esi, esi
mov ebx, eax
lea eax, [esi + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + esi + 0xc], 8
and byte [ebx + esi + 0x10], 0xc0
movzx eax, byte [ebx + esi + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + esi + 0x14], al
mov dword [ebx + esi + 8], 0x49eb88
mov dword [ebx + esi + 0x1c], ebp
mov eax, dword [esp]
mov dword [ebx + esi + 0x18], eax
mov ebp, dword [edi + 0xc]
cmp ebp, dword [edi + 0x10]
je 0x483d20
lea eax, [ebx + esi]
add eax, 8
lea ecx, [ebp + 4]
mov dword [edi + 0xc], ecx
mov dword [ebp], eax
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp eax, ecx
mov esi, dword [esp + 4]
je 0x483e6c
cmp byte [eax], 0x5f
jne 0x483d8e
inc eax
mov dword [edi], eax
xor ebp, ebp
cmp ecx, eax
je 0x483ce0
movsx edx, byte [eax]
add edx, 0xffffffd0
mov ebx, 0
cmp edx, 9
ja 0x483ce2
mov ebp, eax
nop word cs:[eax + eax]
movsx edx, byte [ebp]
add edx, 0xffffffd0
cmp edx, 9
ja 0x483cd5
inc ebp
mov dword [edi], ebp
cmp ebp, ecx
jne 0x483cc0
mov ebp, ecx
sub ebp, eax
mov ebx, eax
jmp 0x483ce2
xor ebx, ebx
mov dword [esp], ebx
mov ebx, dword [edi + 0x1198]
mov esi, dword [ebx + 4]
lea eax, [esi - 0xfd8]
cmp eax, 0xfffff007
ja 0x483c33
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
jne 0x483c20
jmp 0x483e78
mov ecx, dword [edi + 8]
mov eax, ebp
sub eax, ecx
mov dword [esp], eax
add eax, eax
cmp ecx, dword [esp + 0xc]
je 0x483d48
push eax
push ecx
call sub.msvcrt.dll_realloc
add esp, 8
mov dword [edi + 8], eax
test eax, eax
jne 0x483d7b
jmp 0x483e7d
mov dword [esp + 0x1c], ecx
push eax
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x483e7d
cmp ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x1c]
je 0x483d78
push dword [esp]
push ecx
push eax
mov ebp, eax
call sub.msvcrt.dll_memmove
mov eax, ebp
add esp, 0xc
mov dword [edi + 8], eax
mov ecx, dword [esp]
lea ebp, [eax + ecx]
sar ecx, 1
lea eax, [eax + ecx*4]
mov dword [edi + 0x10], eax
jmp 0x483c6f
xor ebp, ebp
cmp eax, ecx
je 0x483da7
cmp byte [eax], 0x70
jne 0x483da7
inc eax
mov dword [edi], eax
mov bl, 1
cmp eax, ecx
jne 0x483db1
jmp 0x483e6e
xor ebx, ebx
cmp eax, ecx
je 0x483e6e
cmp byte [eax], 0x45
jne 0x483e6e
mov dword [esp + 4], esi
mov edx, dword [esp + 0x14]
sar edx, 2
inc eax
mov dword [edi], eax
mov ecx, edi
call fcn.0047e120
mov dword [esp], eax
mov ebp, edx
mov esi, dword [edi + 0x1198]
mov ecx, dword [esi + 4]
lea eax, [ecx - 0xfc8]
cmp eax, 0xfffff007
ja 0x483e0e
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x483e78
mov dword [eax], esi
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ecx, ecx
mov esi, eax
mov eax, dword [esp + 8]
lea edx, [ecx + 0x30]
mov dword [esi + 4], edx
mov byte [esi + ecx + 0xc], 0x3b
and byte [esi + ecx + 0x10], 0xc0
movzx edx, byte [esi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [esi + ecx + 0x14], dl
mov dword [esi + ecx + 8], 0x4a03fc
mov dword [esi + ecx + 0x18], eax
mov eax, dword [esp + 0x18]
mov dword [esi + ecx + 0x1c], eax
mov eax, dword [esp + 0x10]
mov dword [esi + ecx + 0x24], eax
mov eax, dword [esp + 4]
mov dword [esi + ecx + 0x20], eax
mov dword [esi + ecx + 0x2c], ebp
mov eax, dword [esp]
mov dword [esi + ecx + 0x28], eax
mov byte [esi + ecx + 0x30], bl
lea ebp, [esi + ecx]
add ebp, 8
jmp 0x483e6e
xor ebp, ebp
mov eax, ebp
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00469cf0
call sub.msvcrt.dll_abort
int3
push ebp
push ebx
push edi
push esi
mov esi, edx
mov ebx, dword [ecx + 0x1198]
mov ebp, dword [ebx + 4]
lea eax, [ebp - 0xfd8]
cmp eax, 0xfffff007
ja 0x484192
mov edi, ecx
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4841d7
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [edi + 0x1198], eax
xor ebp, ebp
mov ebx, eax
lea eax, [ebp + 0x20]
mov dword [ebx + 4], eax
lea edi, [ebx + ebp]
add edi, 8
push esi
call sub.msvcrt.dll_strlen
add esp, 4
mov byte [ebx + ebp + 0xc], 8
and byte [ebx + ebp + 0x10], 0xc0
movzx ecx, byte [ebx + ebp + 0x14]
and cl, 0xc0
or cl, 0x15
mov byte [ebx + ebp + 0x14], cl
mov dword [ebx + ebp + 8], 0x49eb88
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.00469cf0
int3
push ebp
push ebx
push edi
push esi
mov ebx, edx
mov esi, ecx
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, ecx
sub edx, eax
cmp edx, 3
jae 0x48427d
cmp edx, 2
je 0x484296
jmp 0x4842a1
movzx edx, word [eax]
xor edx, 0x7273
movzx edi, byte [eax + 2]
xor edi, 0x4e
or di, dx
je 0x484483
cmp word [eax], 0x7273
je 0x484331
mov ecx, esi
call fcn.0048a960
test eax, eax
sete cl
xor bl, 1
or bl, cl
jne 0x4847b1
mov edi, dword [esi + 0x1198]
mov ecx, dword [edi + 4]
lea edx, [ecx - 0xfd8]
cmp edx, 0xfffff007
ja 0x4842fb
mov ebx, eax
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4847b6
mov dword [eax], edi
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov edi, eax
mov eax, ebx
lea edx, [ecx + 0x20]
mov dword [edi + 4], edx
mov byte [edi + ecx + 0xc], 0x2e
and byte [edi + ecx + 0x10], 0xc0
movzx edx, byte [edi + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [edi + ecx + 0x14], dl
mov dword [edi + ecx + 8], 0x4a075c
mov dword [edi + ecx + 0x18], eax
lea eax, [edi + ecx]
add eax, 8
jmp 0x4847b1
add eax, 2
mov dword [esi], eax
cmp ecx, eax
je 0x48452a
movsx eax, byte [eax]
add eax, 0xffffffd0
cmp eax, 9
ja 0x48452a
mov ecx, esi
call fcn.0048a8a0
test eax, eax
je 0x484726
mov ebp, eax
xor edi, edi
test bl, bl
jne 0x4843ca
jmp 0x48463f
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x17
and byte [ebx + ecx + 0x10], 0xc0
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4a05ac
mov dword [ebx + ecx + 0x18], edi
lea edi, [ebx + ecx]
add edi, 8
lea eax, [ebx + ecx]
add eax, 0x1c
mov dword [eax], ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x4843b7
cmp byte [eax], 0x45
je 0x48467e
mov ecx, esi
call fcn.0048a8a0
mov ebp, eax
xor eax, eax
test ebp, ebp
je 0x4847b1
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
test edi, edi
je 0x484411
cmp eax, 0xfffff007
ja 0x484370
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4847b6
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
jmp 0x484370
cmp eax, 0xfffff007
ja 0x484440
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4847b6
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x2e
and byte [ebx + ecx + 0x10], 0xc0
lea edi, [ebx + ecx]
add edi, 8
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4a075c
lea eax, [ebx + ecx]
add eax, 0x18
mov dword [eax], ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x4843ae
jmp 0x4843b7
add eax, 3
mov dword [esi], eax
mov ecx, esi
call fcn.0048a760
test eax, eax
je 0x484726
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x4846a5
cmp byte [eax], 0x49
jne 0x4846a5
mov ecx, esi
xor edx, edx
call fcn.0047f570
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x4847b1
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x484500
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4847b6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x2d
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x4a0d0c
jmp 0x484697
mov ecx, esi
call fcn.0048a760
test eax, eax
je 0x484726
mov edi, eax
mov eax, dword [esi]
cmp dword [esi + 4], eax
je 0x484681
cmp byte [eax], 0x49
jne 0x484681
mov ecx, esi
xor edx, edx
call fcn.0047f570
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x4847b1
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4845a2
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4847b6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x2d
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x4a0d0c
mov dword [ebp + ecx + 0x18], edi
lea edi, [ecx + ebp]
add edi, 8
mov dword [ebp + ecx + 0x1c], ebx
jmp 0x484681
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebx, eax
lea eax, [ecx + 0x20]
mov dword [ebx + 4], eax
mov byte [ebx + ecx + 0xc], 0x17
and byte [ebx + ecx + 0x10], 0xc0
movzx eax, byte [ebx + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebx + ecx + 0x14], al
mov dword [ebx + ecx + 8], 0x4a05ac
mov dword [ebx + ecx + 0x18], edi
lea edi, [ebx + ecx]
add edi, 8
mov dword [ebx + ecx + 0x1c], ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
je 0x48462c
cmp byte [eax], 0x45
je 0x48467e
mov ecx, esi
call fcn.0048a8a0
mov ebp, eax
xor eax, eax
test ebp, ebp
je 0x4847b1
test edi, edi
je 0x484673
mov ebx, dword [esi + 0x1198]
mov ecx, dword [ebx + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4845ed
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
jne 0x4845da
jmp 0x4847b6
mov edi, ebp
mov eax, dword [esi]
cmp eax, dword [esi + 4]
jne 0x484627
jmp 0x48462c
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0048a960
test eax, eax
je 0x484726
mov ebx, eax
jmp 0x484742
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 0x4846b1
cmp byte [eax], 0x45
je 0x48472d
mov ecx, esi
call fcn.0048a8a0
test eax, eax
je 0x484726
mov ebx, eax
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x4846fc
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4847b6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x17
and byte [ebp + ecx + 0x10], 0xc0
movzx eax, byte [ebp + ecx + 0x14]
and al, 0xc0
or al, 0x15
mov byte [ebp + ecx + 0x14], al
mov dword [ebp + ecx + 8], 0x4a05ac
jmp 0x484697
xor eax, eax
jmp 0x4847b1
inc eax
mov dword [esi], eax
mov ecx, esi
call fcn.0048a960
mov ebx, eax
mov eax, 0
test ebx, ebx
je 0x4847b1
mov ebp, dword [esi + 0x1198]
mov ecx, dword [ebp + 4]
lea eax, [ecx - 0xfd8]
cmp eax, 0xfffff007
ja 0x48477c
push 0x1000
call sub.msvcrt.dll_malloc
add esp, 4
test eax, eax
je 0x4847b6
mov dword [eax], ebp
mov dword [eax + 4], 0
mov dword [esi + 0x1198], eax
xor ecx, ecx
mov ebp, eax
lea eax, [ecx + 0x20]
mov dword [ebp + 4], eax
mov byte [ebp + ecx + 0xc], 0x17
and byte [ebp + ecx + 0x10], 0xc0
lea eax, [ecx + ebp]
add eax, 8
movzx edx, byte [ebp + ecx + 0x14]
and dl, 0xc0
or dl, 0x15
mov byte [ebp + ecx + 0x14], dl
mov dword [ebp + ecx + 8], 0x4a05ac
mov dword [ebp + ecx + 0x18], edi
mov dword [ebp + ecx + 0x1c], ebx
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.00469cf0
int3