Function at 0x10032a50
Capabilities:
Contain obfuscated stackstrings

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 0x120
cmp word [ecx + 0xe], 8
push ebx
push esi
push edi
push ebp
jle 0x10032a75
mov eax, 0xffffffeb
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov eax, dword [esp + 0x134]
push 0xa
push str.__XPM___n
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, 0xa
je 0x10032aa1
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov eax, dword [esp + 0x134]
push 0x1c
push str.static_char_untitled_____n
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, 0x1c
je 0x10032acd
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov eax, dword [esp + 0x134]
push 0x2f
push str.__width_height_ncolors_cpp__x_hot___y_hot____n
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, 0x2f
je 0x10032af9
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov ecx, dword [esp + 0x138]
movsx eax, word [ecx + 0xe]
push eax
mov edx, dword [ecx + 4]
push edx
call fcn.100382f0
mov dword [esp + 0x20], eax
add esp, 8
add eax, 0x40
push eax
call fcn.100365b0
mov dword [esp + 0x18], eax
add esp, 4
test eax, eax
jne 0x10032b39
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov eax, 1
mov ecx, dword [esp + 0x138]
mov cl, byte [ecx + 0xe]
shl eax, cl
mov dword [esp + 0x10], eax
cmp eax, 0x20
mov eax, 1
jg 0x10032b5a
xor eax, eax
inc eax
push 0
mov ecx, dword [esp + 0x14]
push 0
mov edx, dword [esp + 0x140]
push 0
mov dword [esp + 0x28], eax
push 0
push eax
push ecx
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
push eax
push ecx
lea eax, [esp + 0x50]
push str.__d__d__d__d__1__1___n
push eax
call fcn.10038370
lea edi, [esp + 0x58]
add esp, 0x28
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [esp + 0x134]
lea esi, [ecx - 1]
lea ecx, [esp + 0x30]
push esi
push ecx
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, esi
je 0x10032bca
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov eax, dword [esp + 0x134]
push 0xd
push str.__colors___n
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, 0xd
je 0x10032bf6
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov byte [esp + 0x20], 0x30
mov byte [esp + 0x21], 0x31
mov byte [esp + 0x22], 0x32
mov byte [esp + 0x23], 0x33
mov byte [esp + 0x24], 0x34
mov byte [esp + 0x25], 0x35
mov byte [esp + 0x26], 0x36
mov byte [esp + 0x27], 0x37
mov byte [esp + 0x28], 0x38
mov byte [esp + 0x29], 0x39
mov byte [esp + 0x2a], 0x41
mov byte [esp + 0x2b], 0x42
mov byte [esp + 0x2c], 0x43
mov esi, dword [esp + 0x138]
mov eax, dword [esp + 0x1c]
mov byte [esp + 0x2d], 0x44
mov byte [esp + 0x2e], 0x45
mov byte [esp + 0x2f], 0x46
add esi, 0x28
cmp eax, 1
je 0x10032c96
cmp eax, 2
je 0x10032d55
mov ecx, dword [esp + 0x138]
mov eax, dword [ecx + 4]
lea edx, [eax*2 + 0x40]
push edx
call fcn.100365b0
add esp, 4
mov ebx, eax
test ebx, ebx
jne 0x10032e24
mov eax, 0xffffffff
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
xor ebp, ebp
cmp dword [esp + 0x10], ebp
jle 0x10032c62
mov cl, byte [esi]
mov al, byte [esi + 1]
mov bl, byte [esi + 2]
push 0
mov dl, cl
shr cl, 4
and edx, 0xf
movsx edi, byte [esp + edx + 0x24]
push edi
xor edx, edx
mov dl, cl
mov cl, al
shr al, 4
and ecx, 0xf
movsx edi, byte [esp + edx + 0x28]
movsx edx, byte [esp + ecx + 0x28]
push edi
xor ecx, ecx
push edx
mov cl, al
movsx edx, byte [esp + ecx + 0x30]
push edx
mov al, bl
shr bl, 4
and eax, 0xf
movsx ecx, byte [esp + eax + 0x34]
push ecx
xor eax, eax
mov al, bl
lea edx, [ebp + 0x5e]
movsx ecx, byte [esp + eax + 0x38]
lea eax, [esp + 0x48]
push ecx
push edx
push str.__c_tc__c_c_c_c_c_c___n
push eax
call fcn.10038370
lea edi, [esp + 0x58]
add esp, 0x28
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [esp + 0x134]
lea edi, [ecx - 1]
lea ecx, [esp + 0x30]
push edi
push ecx
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, edi
jne 0x10032d45
add esi, 4
inc ebp
cmp dword [esp + 0x10], ebp
jg 0x10032c9e
jmp 0x10032c62
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
xor ebp, ebp
cmp dword [esp + 0x10], ebp
jle 0x10032c62
mov al, byte [esi]
mov cl, byte [esi + 1]
mov bl, byte [esi + 2]
mov dl, al
shr al, 4
and edx, 0xf
movsx edi, byte [esp + edx + 0x20]
push edi
xor edx, edx
mov dl, al
mov al, cl
shr cl, 4
and eax, 0xf
movsx edi, byte [esp + edx + 0x24]
movsx edx, byte [esp + eax + 0x24]
push edi
xor eax, eax
push edx
mov al, cl
movsx edx, byte [esp + eax + 0x2c]
push edx
mov al, bl
shr bl, 4
and eax, 0xf
movsx ecx, byte [esp + eax + 0x30]
push ecx
xor eax, eax
mov al, bl
movsx ecx, byte [esp + eax + 0x34]
push ecx
mov eax, ebp
and eax, 0x1f
lea ecx, [esp + 0x48]
add eax, 0x5e
push eax
mov eax, ebp
sar eax, 5
add eax, 0x5e
push eax
push str.__c_c_tc__c_c_c_c_c_c___n
push ecx
call fcn.10038370
lea edi, [esp + 0x58]
add esp, 0x28
mov ecx, 0xffffffff
sub eax, eax
repne scasb al, byte es:[edi]
not ecx
mov eax, dword [esp + 0x134]
lea edi, [ecx - 1]
lea ecx, [esp + 0x30]
push edi
push ecx
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, edi
jne 0x10032e14
add esi, 4
inc ebp
cmp dword [esp + 0x10], ebp
jg 0x10032d61
jmp 0x10032c62
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov ecx, dword [esp + 0x138]
movsx eax, word [ecx + 0xe]
cmp eax, 1
je 0x10032e42
cmp eax, 4
je 0x10032e49
cmp eax, 8
je 0x10032e50
xor ebp, ebp
jmp 0x10032e61
mov ebp, 0x10032f70
jmp 0x10032e61
mov ebp, 0x10032fc0
jmp 0x10032e61
cmp dword [esp + 0x1c], 1
mov ebp, 0x10033010
je 0x10032e61
mov ebp, 0x10033040
mov eax, dword [esp + 0x134]
push 0xd
push str.__pixels___n
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, 0xd
je 0x10032e8d
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
xor esi, esi
mov ecx, dword [esp + 0x138]
cmp dword [ecx + 8], esi
jle 0x10032f1a
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x140]
push eax
push esi
push ecx
push edx
call dword [esp + 0x14c]
add esp, 0x10
mov edi, eax
test edi, edi
jl 0x10032f3d
mov ecx, dword [esp + 0x138]
mov edx, dword [esp + 0x14]
inc esi
mov eax, dword [ecx + 4]
push eax
push ebx
push edx
call ebp
mov ecx, dword [esp + 0x144]
add esp, 0xc
cmp dword [ecx + 8], esi
jle 0x10032ee6
mov byte [eax], 0x2c
jmp 0x10032eee
mov byte [eax], 0x7d
mov byte [eax + 1], 0x3b
inc eax
lea edi, [eax + 2]
mov byte [eax + 1], 0xa
inc eax
sub edi, ebx
mov eax, dword [esp + 0x134]
push edi
push ebx
push eax
call fcn.100364d0
add esp, 0xc
cmp eax, edi
jne 0x10032f57
mov ecx, dword [esp + 0x138]
cmp dword [ecx + 8], esi
jg 0x10032e9b
mov eax, dword [esp + 0x14]
push eax
call fcn.10036640
add esp, 4
push ebx
call fcn.10036640
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov eax, dword [esp + 0x14]
push eax
call fcn.10036640
add esp, 4
mov eax, edi
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret
mov eax, 0xfffffff7
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x120
ret