Function at 0x50ec80
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x741d10
mov eax, dword fs:[0]
push eax
sub esp, 0x3f4
mov eax, dword [0x8bb040]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x3f0], ecx
xor eax, eax
mov dword [ebp - 0x180], 5
mov dword [ebp - 0x18c], eax
mov dword [ebp - 0x188], eax
mov dword [ebp - 0x184], eax
mov eax, dword [str.BLACK]
mov dword [ebp - 0x190], eax
mov al, byte [0x80d4c8]
mov dword [ebp - 0x17c], 0xf
mov byte [ebp - 0x18c], al
mov byte [ebp - 0x18b], 0
xor eax, eax
mov dword [ebp - 0x168], 6
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x16c], eax
mov eax, dword [str.YELLOW]
mov dword [ebp - 0x178], eax
mov ax, word [0x80d4d0]
mov dword [ebp - 0x164], 0xf
mov word [ebp - 0x174], ax
mov byte [ebp - 0x172], 0
xor eax, eax
mov dword [ebp - 0x150], 5
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], eax
mov dword [ebp - 0x154], eax
mov eax, dword [str.BROWN]
mov dword [ebp - 0x160], eax
mov al, byte [0x80d53c]
mov dword [ebp - 0x14c], 0xf
mov byte [ebp - 0x15c], al
mov byte [ebp - 0x15b], 0
xor eax, eax
mov dword [ebp - 0x138], 6
mov dword [ebp - 0x144], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 0x13c], eax
mov eax, dword [str.ORANGE]
mov dword [ebp - 0x148], eax
mov ax, word [0x80d544]
mov dword [ebp - 0x134], 0xf
mov word [ebp - 0x144], ax
mov byte [ebp - 0x142], 0
mov cl, byte [0x80d52e]
xor eax, eax
mov dword [ebp - 0x130], eax
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], eax
mov eax, dword [0x80d52c]
mov dword [ebp - 0x120], 3
mov dword [ebp - 0x11c], 0xf
mov word [ebp - 0x130], ax
mov byte [ebp - 0x12e], cl
mov byte [ebp - 0x12d], 0
xor ecx, ecx
mov dword [ebp - 0x108], 5
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x110], ecx
mov dword [ebp - 0x10c], ecx
mov ecx, dword [str.MAUVE]
mov dword [ebp - 0x118], ecx
mov cl, byte [0x80d534]
mov dword [ebp - 0x104], 0xf
mov byte [ebp - 0x114], cl
mov byte [ebp - 0x113], 0
xor ecx, ecx
mov dword [ebp - 0xf0], 6
mov dword [ebp - 0xfc], ecx
mov dword [ebp - 0xf8], ecx
mov dword [ebp - 0xf4], ecx
mov ecx, dword [str.VIOLET]
mov dword [ebp - 0xec], 0xf
mov dword [ebp - 0x100], ecx
mov cx, word [0x80d558]
mov word [ebp - 0xfc], cx
mov byte [ebp - 0xfa], 0
xor ecx, ecx
mov dword [ebp - 0xd8], 6
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xdc], ecx
mov ecx, dword [str.PURPLE]
mov dword [ebp - 0xe8], ecx
mov cx, word [0x80d560]
mov dword [ebp - 0xd4], 0xf
mov word [ebp - 0xe4], cx
mov byte [ebp - 0xe2], 0
xor ecx, ecx
mov dword [ebp - 0xc0], 4
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], ecx
mov dword [ebp - 0xbc], 0xf
mov dword [ebp - 0xd0], 0x45554c42
mov byte [ebp - 0xcc], cl
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xac], ecx
mov ecx, dword [str.BLUE_CYAN]
mov dword [ebp - 0xb8], ecx
mov ecx, dword [0x80d54c]
mov dword [ebp - 0xb4], ecx
mov cl, byte [0x80d550]
mov dword [ebp - 0xa8], 9
mov dword [ebp - 0xa4], 0xf
mov byte [ebp - 0xb0], cl
mov byte [ebp - 0xaf], 0
xor ecx, ecx
mov dword [ebp - 0x90], 4
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0x94], ecx
mov dword [ebp - 0x8c], 0xf
mov dword [ebp - 0xa0], 0x4e415943
mov byte [ebp - 0x9c], cl
mov bx, word [0x80d584]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], ecx
mov ecx, dword [str.CYAN_GREEN]
mov dword [ebp - 0x88], ecx
mov ecx, dword [0x80d580]
mov dword [ebp - 0x78], 0xa
mov dword [ebp - 0x74], 0xf
mov dword [ebp - 0x84], ecx
mov word [ebp - 0x80], bx
mov byte [ebp - 0x7e], 0
xor ecx, ecx
mov dword [ebp - 0x60], 5
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], ecx
mov ecx, dword [str.GREEN]
mov dword [ebp - 0x70], ecx
mov cl, byte [0x80d568]
mov dword [ebp - 0x5c], 0xf
mov byte [ebp - 0x6c], cl
mov byte [ebp - 0x6b], 0
mov edi, dword [str.GREEN_YELLOW]
xor ecx, ecx
mov esi, dword [0x80d570]
mov edx, dword [0x80d574]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], 0xc
mov dword [ebp - 0x44], 0xf
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x4c], cl
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [str.GREEN_BEIGE]
mov dword [ebp - 0x40], ecx
mov ecx, dword [0x80d59c]
mov dword [ebp - 0x3c], ecx
movzx ecx, word [0x80d5a0]
mov word [ebp - 0x38], cx
movzx ecx, byte [0x80d5a2]
mov dword [ebp - 0x30], 0xb
mov dword [ebp - 0x2c], 0xf
mov byte [ebp - 0x36], cl
mov byte [ebp - 0x35], 0
xor ecx, ecx
mov dword [ebp - 0x18], 5
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x1c], ecx
mov ecx, dword [str.BEIGE]
mov dword [ebp - 0x28], ecx
movzx ecx, byte [0x80d5a8]
mov dword [ebp - 0x14], 0xf
mov byte [ebp - 0x24], cl
mov byte [ebp - 0x23], 0
mov dword [ebp - 4], 0xf
xor ecx, ecx
mov dword [ebp - 0x30c], ecx
mov dword [ebp - 0x308], ecx
mov dword [ebp - 0x304], ecx
mov ecx, dword [str.BLACK0]
mov dword [ebp - 0x310], ecx
movzx ecx, word [0x80d594]
mov dword [ebp - 0x300], 6
mov dword [ebp - 0x2fc], 0xf
mov word [ebp - 0x30c], cx
mov byte [ebp - 0x30a], 0
xor ecx, ecx
mov dword [ebp - 0x2e8], 6
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2ec], ecx
mov ecx, dword [str.BLACK1]
mov dword [ebp - 0x2f8], ecx
movzx ecx, word [0x80d5c0]
mov dword [ebp - 0x2e4], 0xf
mov word [ebp - 0x2f4], cx
mov byte [ebp - 0x2f2], 0
xor ecx, ecx
mov dword [ebp - 0x2d0], 6
mov dword [ebp - 0x2dc], ecx
mov dword [ebp - 0x2d8], ecx
mov dword [ebp - 0x2d4], ecx
mov ecx, dword [str.YELLOW]
mov dword [ebp - 0x2e0], ecx
mov cx, word [0x80d4d0]
mov dword [ebp - 0x2cc], 0xf
mov word [ebp - 0x2dc], cx
mov byte [ebp - 0x2da], 0
xor ecx, ecx
mov dword [ebp - 0x2b8], 0xc
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x2b4], 0xf
mov dword [ebp - 0x2c8], edi
mov dword [ebp - 0x2c4], esi
mov dword [ebp - 0x2c0], edx
mov byte [ebp - 0x2bc], cl
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], ecx
mov dword [ebp - 0x2a4], ecx
mov ecx, dword [str.ORANGE]
mov dword [ebp - 0x2b0], ecx
mov cx, word [0x80d544]
mov dword [ebp - 0x2a0], 6
mov dword [ebp - 0x29c], 0xf
mov word [ebp - 0x2ac], cx
mov byte [ebp - 0x2aa], 0
mov dl, byte [0x80d568]
xor ecx, ecx
mov esi, dword [str.GREEN]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], ecx
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x288], 5
mov dword [ebp - 0x284], 0xf
mov dword [ebp - 0x298], esi
mov byte [ebp - 0x294], dl
mov byte [ebp - 0x293], cl
mov dh, byte [0x80d52e]
mov dword [ebp - 0x280], ecx
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], ecx
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x270], 3
mov dword [ebp - 0x26c], 0xf
mov word [ebp - 0x280], ax
mov byte [ebp - 0x27e], dh
mov byte [ebp - 0x27d], cl
mov dword [ebp - 0x260], ecx
mov dword [ebp - 0x25c], ecx
mov ecx, dword [str.CYAN_GREEN]
mov dword [ebp - 0x268], ecx
mov ecx, dword [0x80d580]
mov dword [ebp - 0x258], 0xa
mov dword [ebp - 0x254], 0xf
mov dword [ebp - 0x264], ecx
mov word [ebp - 0x260], bx
mov byte [ebp - 0x25e], 0
xor ecx, ecx
mov dword [ebp - 0x240], 5
mov dword [ebp - 0x24c], ecx
mov dword [ebp - 0x248], ecx
mov dword [ebp - 0x244], ecx
mov ecx, dword [str.MAUVE]
mov dword [ebp - 0x250], ecx
mov cl, byte [0x80d534]
mov dword [ebp - 0x23c], 0xf
mov byte [ebp - 0x24c], cl
mov byte [ebp - 0x24b], 0
xor ecx, ecx
mov dword [ebp - 0x228], 4
mov dword [ebp - 0x234], ecx
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], ecx
mov dword [ebp - 0x224], 0xf
mov dword [ebp - 0x238], 0x4e415943
mov byte [ebp - 0x234], cl
mov dword [ebp - 0x21c], ecx
mov dword [ebp - 0x218], ecx
mov dword [ebp - 0x214], ecx
mov ecx, dword [str.VIOLET]
mov dword [ebp - 0x220], ecx
mov cx, word [0x80d558]
mov dword [ebp - 0x210], 6
mov dword [ebp - 0x20c], 0xf
mov word [ebp - 0x21c], cx
mov byte [ebp - 0x21a], 0
xor ecx, ecx
mov dword [ebp - 0x1f8], 9
mov dword [ebp - 0x200], ecx
mov dword [ebp - 0x1fc], ecx
mov ecx, dword [str.BLUE_CYAN]
mov dword [ebp - 0x208], ecx
mov ecx, dword [0x80d54c]
mov dword [ebp - 0x204], ecx
mov cl, byte [0x80d550]
mov dword [ebp - 0x1f4], 0xf
mov byte [ebp - 0x200], cl
mov byte [ebp - 0x1ff], 0
mov bx, word [0x80d560]
xor ecx, ecx
mov edi, dword [str.PURPLE]
mov dword [ebp - 0x1ec], ecx
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0x1e4], ecx
mov dword [ebp - 0x1e0], 6
mov dword [ebp - 0x1dc], 0xf
mov dword [ebp - 0x1f0], edi
mov word [ebp - 0x1ec], bx
mov byte [ebp - 0x1ea], cl
mov dword [ebp - 0x1d4], ecx
mov dword [ebp - 0x1d0], ecx
mov dword [ebp - 0x1cc], ecx
mov dword [ebp - 0x1c8], 4
mov dword [ebp - 0x1c4], 0xf
mov dword [ebp - 0x1d8], 0x45554c42
mov byte [ebp - 0x1d4], cl
mov dword [ebp - 0x1bc], ecx
mov dword [ebp - 0x1b8], ecx
mov dword [ebp - 0x1b4], ecx
mov ecx, dword [str.BLACKE]
mov dword [ebp - 0x1c0], ecx
movzx ecx, word [0x80d5c8]
mov dword [ebp - 0x1b0], 6
mov dword [ebp - 0x1ac], 0xf
mov word [ebp - 0x1bc], cx
mov byte [ebp - 0x1ba], 0
xor ecx, ecx
mov dword [ebp - 0x198], 6
mov dword [ebp - 0x1a4], ecx
mov dword [ebp - 0x1a0], ecx
mov dword [ebp - 0x19c], ecx
mov ecx, dword [str.BLACKF]
mov dword [ebp - 0x1a8], ecx
movzx ecx, word [0x80d5b0]
mov dword [ebp - 0x194], 0xf
mov word [ebp - 0x1a4], cx
mov byte [ebp - 0x1a2], 0
xor ecx, ecx
mov dword [ebp - 0x3c0], 5
mov dword [ebp - 0x3cc], ecx
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3c4], ecx
mov ecx, dword [str.BLACK]
mov dword [ebp - 0x3d0], ecx
mov cl, byte [0x80d4c8]
mov dword [ebp - 0x3bc], 0xf
mov byte [ebp - 0x3cc], cl
mov byte [ebp - 0x3cb], 0
xor ecx, ecx
mov dword [ebp - 0x3a8], 4
mov dword [ebp - 0x3b4], ecx
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x3ac], ecx
mov dword [ebp - 0x3a4], 0xf
mov dword [ebp - 0x3b8], 0x45554c42
mov byte [ebp - 0x3b4], cl
mov dword [ebp - 0x3a0], ecx
mov dword [ebp - 0x39c], ecx
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x390], 3
mov dword [ebp - 0x38c], 0xf
mov word [ebp - 0x3a0], ax
mov byte [ebp - 0x39e], dh
mov byte [ebp - 0x39d], cl
xor eax, eax
mov dword [ebp - 0x378], 6
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], eax
mov dword [ebp - 0x374], 0xf
mov dword [ebp - 0x388], edi
mov word [ebp - 0x384], bx
mov byte [ebp - 0x382], al
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], eax
mov dword [ebp - 0x360], 5
mov dword [ebp - 0x35c], 0xf
mov dword [ebp - 0x370], esi
mov byte [ebp - 0x36c], dl
mov byte [ebp - 0x36b], al
mov dword [ebp - 0x354], eax
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], 4
mov dword [ebp - 0x344], 0xf
mov dword [ebp - 0x358], 0x4e415943
mov byte [ebp - 0x354], al
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x338], eax
mov dword [ebp - 0x334], eax
mov eax, dword [str.YELLOW]
mov dword [ebp - 0x340], eax
mov ax, word [0x80d4d0]
mov dword [ebp - 0x330], 6
mov dword [ebp - 0x32c], 0xf
mov word [ebp - 0x33c], ax
mov byte [ebp - 0x33a], cl
xor eax, eax
mov dword [ebp - 0x318], 5
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], eax
mov eax, dword [str.WHITE]
mov dword [ebp - 0x328], eax
mov al, byte [0x80d5b8]
mov dword [ebp - 0x314], 0xf
mov byte [ebp - 0x324], al
mov byte [ebp - 0x323], cl
mov ebx, dword [ebp - 0x3f0]
mov byte [ebp - 4], 0x27
push 0
movzx eax, word [ebx + 0xd4]
add ax, word [ebx + 0xd6]
movzx ecx, ax
mov eax, dword [0x8e7934]
push ecx
mov ecx, dword [eax + 0x15c]
call fcn.005cd6f0
movzx ecx, word [ebx + 0xda]
mov esi, 0x80
mov byte [ebp - 0x3e9], al
cmp cx, si
je 0x50f755
test cx, cx
je 0x50f755
lea ecx, [ebx + 0x20]
mov edx, str._________
call fcn.004853b0
push 0
mov ecx, ebx
call fcn.0050e250
movzx eax, word [ebx + 0xd6]
mov ecx, ebx
push 1
push 1
push eax
mov word [ebx + 0xda], si
call fcn.0050e030
lea ecx, [ebx + 0x20]
push 0x4e2ae0
test al, al
je 0x50f7d3
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
movzx ecx, word [ebx + 0xd6]
movzx edx, word [ebx + 0xd4]
add edx, ecx
mov ecx, eax
push edx
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov edx, 0x811a6c
mov ecx, eax
call fcn.004853b0
push 0x4e2ae0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
movzx ecx, word [ebx + 0xd6]
movzx edx, word [ebx + 0xd4]
add edx, ecx
mov ecx, eax
push edx
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov edx, 0x80a95c
jmp 0x50f7f7
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
movzx ecx, word [ebx + 0xd6]
movzx edx, word [ebx + 0xd4]
add edx, ecx
mov ecx, eax
push edx
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov edx, str._____
mov ecx, eax
call fcn.004853b0
xor eax, eax
mov dword [ebp - 0x3d4], 0xf
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3e4], eax
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], eax
mov dword [ebp - 0x3d8], eax
mov byte [ebp - 0x3e8], al
mov edx, 0x811b88
mov byte [ebp - 4], 0x28
lea ecx, [ebx + 0x20]
call fcn.004853b0
mov eax, dword [ebx]
movzx edi, byte [ebp - 0x3e9]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x3c8]
test eax, eax
jne 0x50f85f
mov eax, edi
lea ecx, [ebp - 0x190]
jmp 0x50f870
cmp eax, 1
mov eax, edi
jne 0x50f8ec
lea ecx, [ebp - 0x310]
shr eax, 4
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
lea ecx, [ebp - 0x3e8]
cmp ecx, eax
je 0x50f89b
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x50f88e
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x3e8]
call fcn.004833e0
cmp dword [ebp - 0x3d4], 0xf
lea edx, [ebp - 0x3e8]
push dword [ebp - 0x3d8]
cmova edx, dword [ebp - 0x3e8]
lea ecx, [ebx + 0x20]
call fcn.0048b260
add esp, 4
mov edx, 0x80cde8
mov ecx, eax
call fcn.004853b0
push 0x4e7d10
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, edi
and ecx, 0xf
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
jmp 0x50f977
shr eax, 1
lea ecx, [ebp - 0x3d0]
and eax, 7
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
lea ecx, [ebp - 0x3e8]
cmp ecx, eax
je 0x50f91f
cmp dword [eax + 0x14], 0xf
mov ecx, dword [eax + 0x10]
jbe 0x50f912
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x3e8]
call fcn.004833e0
mov edx, 0x80cdec
lea ecx, [ebx + 0x20]
call fcn.004853b0
push 0x4e7d10
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
mov ecx, edi
shr ecx, 4
push ecx
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov edx, 0x80d0ac
mov ecx, eax
call fcn.004853b0
cmp dword [ebp - 0x3d4], 0xf
lea edx, [ebp - 0x3e8]
push dword [ebp - 0x3d8]
cmova edx, dword [ebp - 0x3e8]
mov ecx, eax
call fcn.0048b260
add esp, 4
mov eax, 0x10
sub eax, dword [ebp - 0x3d8]
cdq
push edx
push eax
lea eax, [ebp - 0x400]
push eax
call dword [sym.imp.MSVCP140.dll_struct_std::_Smanip_long_long___int64_____cdecl_std::setw_long_long___int64__]
add esp, 0xc
lea ecx, [ebx + 0x20]
mov edx, eax
call fcn.0048afc0
push 0x20
mov ecx, dword [eax]
mov ecx, dword [ecx + 4]
add ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_char___thiscall_std::basic_ios_char__struct_std::char_traits_char__::fill_char_]
mov edx, 0x80d060
lea ecx, [ebx + 0x20]
call fcn.004853b0
push 0x4e2ae0
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
movzx ecx, word [ebx + 0xd6]
movzx edx, word [ebx + 0xd4]
add edx, ecx
mov ecx, eax
push edx
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
mov edx, 0x806b84
mov ecx, eax
call fcn.004853b0
movzx ecx, word [ebx + 0xd6]
push 1
push 0x80
push ecx
mov ecx, ebx
mov dword [ebp - 0x3f0], eax
call fcn.0050e030
test al, al
je 0x50fa14
mov edx, str._Px_
jmp 0x50fa36
movzx eax, word [ebx + 0xd6]
mov ecx, ebx
push 1
push 0x40
push eax
call fcn.0050e030
test al, al
mov edx, str._PF_
mov ecx, str._BK_
cmove edx, ecx
mov ecx, dword [ebp - 0x3f0]
call fcn.004853b0
mov edx, 0x80a95c
lea ecx, [ebx + 0x20]
call fcn.004853b0
push 0x4e2a80
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___class_std::basic_ostream_char__struct_std::char_traits_char_______cdecl___class_std::basic_ostream_char__struct_std::char_traits_char_____]
push edi
mov ecx, eax
call dword [sym.imp.MSVCP140.dll_public:_class_std::basic_ostream_char__struct_std::char_traits_char______thiscall_std::basic_ostream_char__struct_std::char_traits_char__::operator___int_]
movzx eax, word [ebx + 0xd6]
mov ecx, ebx
push 1
push 0x80
push eax
call fcn.0050e030
test al, al
je 0x50fa85
mov eax, 0x80
jmp 0x50fa9f
movzx eax, word [ebx + 0xd6]
mov ecx, ebx
push 1
push 0x40
push eax
call fcn.0050e030
movzx eax, al
inc eax
shl eax, 5
push eax
mov ecx, ebx
call fcn.0050e250
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x3d4]
cmp ecx, 0xf
jbe 0x50fae7
mov edx, dword [ebp - 0x3e8]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x50fadd
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x50fadd
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.00732c0f
add esp, 8
push fcn.00481460
push 8
push 0x18
lea eax, [ebp - 0x3d0]
mov dword [ebp - 0x3d8], 0
push eax
mov dword [ebp - 0x3d4], 0xf
mov byte [ebp - 0x3e8], 0
mov byte [ebp - 4], 0x1f
call fcn.00732f26
push fcn.00481460
push 0x10
push 0x18
lea eax, [ebp - 0x310]
mov byte [ebp - 4], 0xf
push eax
call fcn.00732f26
push fcn.00481460
push 0x10
push 0x18
lea eax, [ebp - 0x190]
mov dword [ebp - 4], 0xffffffff
push eax
call fcn.00732f26
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0073297b
mov esp, ebp
pop ebp
ret