Function at 0x47fce0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x11c
movzx edx, byte [ecx + 1]
mov eax, dword [esp + 0x130]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
mov eax, edx
and eax, 0x78
cmp al, 0x38
je 0x47fec0
mov esi, dword [esp + 0x20]
shr dl, 3
and edx, 0xf
mov ecx, esi
test cl, cl
js 0x47fdd0
cmp dl, 4
je 0x480060
ja 0x480020
cmp dl, 1
jbe 0x47ff10
cmp al, 0x10
mov edx, 0x5138f4
mov eax, 0x5138f7
cmove eax, edx
cmp byte [esp + 0x20], 0
mov dword [esp + 0x28], eax
jne 0x47fdfd
mov eax, 0x30
lea esi, [esp + 0x40]
lea ebp, [esp + 0x3f]
mov byte [esp + 0x3f], al
mov eax, dword [esp + 0x24]
movzx ebx, byte [eax]
test bl, 0x10
je 0x480008
mov eax, 0xfffffffe
mov ecx, 2
add eax, ebp
test ecx, ecx
je 0x47fda8
mov edi, dword [esp + 0x28]
mov byte [esp + 0x28], bl
xor edx, edx
movzx ebx, byte [edi + edx]
mov byte [eax + edx], bl
add edx, 1
cmp edx, ecx
jb 0x47fd8f
movzx ebx, byte [esp + 0x28]
lea esi, [esi]
shr bl, 2
lea edx, [eax - 1]
and ebx, 3
cmp byte [esp + 0x20], 0
jns 0x47ff41
mov byte [eax - 1], 0x2d
mov eax, edx
jmp 0x47ff56
neg ecx
cmp dl, 4
je 0x4800b8
ja 0x47ff90
cmp dl, 1
jbe 0x480118
cmp al, 0x10
mov edx, 0x5138f4
mov eax, 0x5138f7
cmove eax, edx
mov dword [esp + 0x28], eax
movzx esi, cl
mov edi, 0x20
mov edx, 0x1f
bsr eax, esi
xor eax, 0x1f
sub edi, eax
sub edx, eax
je 0x47fead
and ecx, 1
mov ebx, 0x1e
add ecx, 0x30
mov byte [esp + edx + 0x3f], cl
mov edx, esi
shr edx, 1
sub ebx, eax
je 0x47fead
and edx, 1
mov ecx, 0x1d
add edx, 0x30
mov byte [esp + ebx + 0x3f], dl
mov edx, esi
shr edx, 2
sub ecx, eax
je 0x47fead
and edx, 1
mov ebx, 0x1c
add edx, 0x30
mov byte [esp + ecx + 0x3f], dl
mov edx, esi
shr edx, 3
sub ebx, eax
je 0x47fead
and edx, 1
mov ecx, 0x1b
add edx, 0x30
mov byte [esp + ebx + 0x3f], dl
mov edx, esi
shr edx, 4
sub ecx, eax
je 0x47fead
and edx, 1
mov ebx, 0x1a
add edx, 0x30
mov byte [esp + ecx + 0x3f], dl
mov edx, esi
shr edx, 5
sub ebx, eax
je 0x47fead
and edx, 1
shr esi, 6
add edx, 0x30
mov byte [esp + ebx + 0x3f], dl
cmp eax, 0x18
jne 0x47fead
and esi, 1
lea eax, [esi + 0x30]
mov byte [esp + 0x40], al
lea ebp, [esp + 0x3f]
mov eax, 0x31
lea esi, [ebp + edi]
jmp 0x47fd61
movzx eax, byte [esp + 0x20]
mov edi, dword [esp + 0x134]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
mov byte [esp + 0x47], al
lea eax, [esp + 0x47]
mov dword [esp + 0xc], edi
mov dword [esp + 8], 1
mov dword [esp], 1
mov dword [esp + 4], eax
call sym.__ZNSt8__format22__write_padded_as_specIcNS_10_Sink_iterIcEEEET0_St17basic_string_viewINSt13type_identityIT_E4typeESt11char_tr
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret 8
cmp byte [esp + 0x20], 0
jne 0x480290
mov eax, dword [esp + 0x24]
mov byte [esp + 0x3f], 0x30
lea ebp, [esp + 0x3f]
lea esi, [esp + 0x40]
lea edx, [esp + 0x3e]
movzx eax, byte [eax]
mov ebx, eax
mov byte [esp + 0x20], al
mov eax, ebp
shr bl, 2
and ebx, 3
movzx ebx, bl
cmp ebx, 1
je 0x480010
cmp ebx, 3
je 0x4800a8
mov edi, dword [esp + 0x134]
sub esi, eax
sub ebp, eax
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xc], edi
mov dword [esp], esi
call sym.__ZNKSt8__format15__formatter_intIcE13_M_format_intINS_10_Sink_iterIcEEEENSt20basic_format_contextIT_cE8iteratorESt17basic_str
sub esp, 0x10
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret 8
cmp al, 0x28
mov ebx, 0x5138ff
mov edx, 0x5138fc
cmove edx, ebx
mov dword [esp + 0x28], edx
movzx ebx, cl
mov dword [esp + 0x47], 0x33323130
bsr edx, ebx
mov dword [esp + 0x4b], 0x37363534
add edx, 4
mov dword [esp + 0x4f], 0x62613938
mov dword [esp + 0x53], 0x66656463
shr edx, 2
cmp cl, 0xf
ja 0x4801d0
movzx ecx, byte [esp + ebx + 0x47]
mov edi, dword [esp + 0x24]
lea ebp, [esp + 0x3f]
mov byte [esp + 0x3f], cl
lea esi, [ebp + edx]
movzx ebx, byte [edi]
cmp al, 0x30
je 0x480260
test bl, 0x10
jne 0x47fd75
lea esi, [esi]
mov eax, ebp
jmp 0x47fda8
mov byte [eax - 1], 0x2b
mov eax, edx
jmp 0x47ff56
cmp al, 0x28
je 0x480230
cmp byte [esp + 0x20], 0
jne 0x4802a0
mov edi, dword [esp + 0x24]
mov byte [esp + 0x3f], 0x30
movzx ebx, byte [edi]
cmp al, 0x30
je 0x4801f0
mov dword [esp + 0x28], 0x5138fc
lea esi, [esp + 0x40]
lea ebp, [esp + 0x3f]
jmp 0x47fff8
cmp byte [esp + 0x20], 0
jne 0x4800b8
mov dword [esp + 0x28], 0
xor eax, eax
xor ecx, ecx
lea esi, [esp + 0x40]
mov ebx, 0x30
lea ebp, [esp + 0x3f]
mov edi, dword [esp + 0x24]
mov byte [esp + 0x3f], bl
movzx ebx, byte [edi]
test bl, 0x10
je 0x480008
test al, al
je 0x480008
mov eax, ecx
neg eax
jmp 0x47fd7f
mov byte [eax - 1], 0x20
mov eax, edx
jmp 0x47ff56
movzx edi, cl
bsr eax, edi
lea edx, [eax + 3]
mov eax, 0xaaaaaaab
mul edx
shr edx, 1
cmp cl, 0x3f
jbe 0x4802df
mov eax, edi
and ecx, 7
shr edi, 6
shr eax, 3
add ecx, 0x30
and eax, 7
mov byte [esp + 0x41], cl
add eax, 0x30
mov byte [esp + 0x40], al
lea ebx, [edi + 0x30]
lea ebp, [esp + 0x3f]
mov eax, 1
mov ecx, 1
mov dword [esp + 0x28], 0x5138fa
lea esi, [ebp + edx]
jmp 0x480080
movzx eax, cl
mov dword [esp + 0x2c], eax
cmp cl, 9
jbe 0x480278
cmp cl, 0x64
sbb eax, eax
add eax, 1
cmp cl, 0x64
sbb ebp, ebp
mov dword [esp + 0x28], eax
add ebp, 2
cmp cl, 0x64
sbb ebx, ebx
add ebx, 3
mov eax, dword [0x513680]
lea edi, [esp + 0x48]
mov esi, 0x513681
mov ecx, 0x32
mov dword [esp + 0x47], eax
mov eax, dword [0x513745]
mov dword [esp + 0x10c], eax
rep movsd dword es:[edi], dword [esi]
cmp dword [esp + 0x2c], 0x63
jbe 0x4802b0
mov eax, dword [esp + 0x2c]
mov edx, 0x51eb851f
mov edi, dword [esp + 0x28]
mul edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x2c], 1
shr edx, 5
imul edx, edx, 0x64
sub eax, edx
add eax, eax
movzx edx, byte [esp + eax + 0x48]
movzx eax, byte [esp + eax + 0x47]
mov byte [esp + ebp + 0x3f], dl
mov byte [esp + edi + 0x3f], al
movzx eax, byte [esp + 0x2c]
add eax, 0x30
mov edi, dword [esp + 0x24]
mov byte [esp + 0x3f], al
lea eax, [esp + 0x3f]
lea esi, [eax + ebx]
mov ebp, eax
movzx ebx, byte [edi]
jmp 0x47fda8
and ecx, 0xf
shr ebx, 4
movzx ecx, byte [esp + ecx + 0x47]
mov byte [esp + 0x40], cl
movzx ecx, byte [esp + ebx + 0x47]
jmp 0x47ffdd
mov dword [esp + 0x28], 0x5138fc
lea esi, [esp + 0x40]
lea ebp, [esp + 0x3f]
mov edi, ebp
lea esi, [esi]
movsx eax, byte [edi]
add edi, 1
mov dword [esp], eax
call sym._toupper
mov byte [edi - 1], al
cmp edi, esi
jne 0x480208
mov eax, 1
mov ecx, 2
jmp 0x48008b
cmp byte [esp + 0x20], 0
jne 0x4802d2
mov eax, dword [esp + 0x24]
mov byte [esp + 0x3f], 0x30
lea esi, [esp + 0x40]
lea ebp, [esp + 0x3f]
mov dword [esp + 0x28], 0x5138ff
movzx ebx, byte [eax]
jmp 0x47fff8
test edx, edx
jne 0x480200
mov eax, 1
mov ecx, 2
mov esi, ebp
jmp 0x48008b
mov dword [esp + 0x28], 0xffffffff
xor ebp, ebp
mov ebx, 1
jmp 0x480144
movsx eax, byte [esp + 0x20]
mov dword [esp + 0x2c], eax
jmp 0x48011f
mov dword [esp + 0x28], 0x5138fc
jmp 0x47ffa3
mov eax, dword [esp + 0x2c]
cmp eax, 9
jbe 0x4801ab
add eax, eax
movzx edx, byte [esp + eax + 0x48]
movzx eax, byte [esp + eax + 0x47]
mov byte [esp + 0x40], dl
jmp 0x4801b3
mov dword [esp + 0x28], 0x5138ff
jmp 0x47ffa3
cmp cl, 7
jbe 0x4800ef
and ecx, 7
shr edi, 3
add ecx, 0x30
mov ebx, edi
mov byte [esp + 0x40], cl
add ebx, 0x30
jmp 0x4800f2