Function at 0x49c742
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x180
mov eax, 0x4b57b5
call fcn.004a76a9
mov ebx, ecx
mov eax, dword [ebp + 8]
xor esi, esi
mov dword [ebx + 0xfc], eax
mov eax, dword [ebx + 0xf4]
mov ecx, dword [ebx + 0xf0]
sub eax, ecx
sar eax, 2
test eax, eax
je 0x49c79b
cmp dword [ecx + esi*4], 0
je 0x49c785
push 0
push dword [ecx + esi*4]
mov ecx, ebx
call fcn.004a09ad
mov eax, dword [ebx + 0xf4]
inc esi
mov ecx, dword [ebx + 0xf0]
sub eax, ecx
sar eax, 2
cmp esi, eax
jb 0x49c773
call fcn.0041a850
push ecx
push ecx
mov ecx, eax
call fcn.0041a89d
call fcn.0041a850
call fcn.0041a91a
mov ecx, dword [ebx + 0xfc]
mov byte [ebp - 0x185], al
sub ecx, 0
je 0x49cc1e
sub ecx, 1
je 0x49c8e2
sub ecx, 1
jne 0x49d05f
mov esi, dword [ebx + 0x6c]
mov edi, 0x4c159a
push 0x24
push 0x7534
push ecx
mov ecx, esp
mov dword [ebp - 0x180], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov dword [ebp - 4], 0x34
push 0x4c76ec
call fcn.0040d6dc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x17c]
push esi
call fcn.004993e7
push 0x24
push 0x7537
push ecx
mov dword [ebp - 4], 0x35
mov ecx, esp
mov esi, dword [ebx + 0x70]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x36
push str.close
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x168]
mov byte [ebp - 4], 0x35
call fcn.004993e7
mov byte [ebp - 4], 0x37
call fcn.00431e5f
mov esi, dword [ebx + 0x68]
xor edx, edx
cmp byte [ebp - 0x185], dl
push 0x46
pop ecx
cmovne ecx, edx
push ecx
push 0x7531
push ecx
mov ecx, esp
mov dword [ebp - 0x184], esp
push 0x4c8b34
push 0x7d4
push ecx
mov ecx, eax
call fcn.0043215d
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x38
push str.finish
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x154]
mov byte [ebp - 4], 0x37
call fcn.004993e7
push 3
lea eax, [ebp - 0x17c]
mov dword [ebp - 4], 0x39
push eax
mov ecx, ebx
call fcn.0049a1cd
push 0x49d079
push 3
lea eax, [ebp - 0x17c]
jmp 0x49d053
call fcn.00431e5f
mov esi, dword [ebx + 0x90]
mov ecx, eax
push 0x64
pop edi
xor eax, eax
cmp byte [ebp - 0x185], al
cmovne edi, eax
push edi
push 0x75c6
push ecx
mov eax, esp
mov dword [ebp - 0x184], esp
push str.X_:NP
push 0x7d2
push eax
call fcn.0043215d
push ecx
mov ecx, esp
mov dword [ebp - 4], 0x1e
push 0x4c8a88
call fcn.0040d6dc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xf0]
push esi
call fcn.004993e7
mov dword [ebp - 4], 0x1f
call fcn.00431e5f
mov esi, dword [ebx + 0xbc]
push edi
push 0x759d
push ecx
mov ecx, esp
mov dword [ebp - 0x184], esp
push 0x4c8a7c
push 0x7d3
push ecx
mov ecx, eax
call fcn.0043215d
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x20
push 0x4c8aa8
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 0x1f
call fcn.004993e7
push 0x24
push 0x753e
push ecx
mov byte [ebp - 4], 0x21
mov ecx, esp
mov esi, dword [ebx + 0x78]
mov edi, 0x4c159a
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x22
push str.rectangle
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0x21
call fcn.004993e7
push 0x24
push 0x7557
push ecx
mov byte [ebp - 4], 0x23
mov ecx, esp
mov esi, dword [ebx + 0x88]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x24
push str.ellipse
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0x23
call fcn.004993e7
push 0x24
push 0x7541
push ecx
mov byte [ebp - 4], 0x25
mov ecx, esp
mov esi, dword [ebx + 0x7c]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x26
push str.arrow
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0x25
call fcn.004993e7
push 0x24
push 0x7544
push ecx
mov byte [ebp - 4], 0x27
mov ecx, esp
mov esi, dword [ebx + 0x80]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x28
push str.brush
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x27
call fcn.004993e7
push 0x24
push 0x755d
push ecx
mov byte [ebp - 4], 0x29
mov ecx, esp
mov esi, dword [ebx + 0x94]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2a
push 0x4c7898
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x29
call fcn.004993e7
push 0x24
push 0x7560
push ecx
mov byte [ebp - 4], 0x2b
mov ecx, esp
mov esi, dword [ebx + 0x9c]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2c
push str.undo
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x2b
call fcn.004993e7
push 0x24
push 0x7534
push ecx
mov byte [ebp - 4], 0x2d
mov ecx, esp
mov esi, dword [ebx + 0x6c]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x2e
push 0x4c76ec
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x2d
call fcn.004993e7
mov byte [ebp - 4], 0x2f
call fcn.00431e5f
mov esi, dword [ebx + 0x68]
mov edx, eax
push 0x3c
pop ecx
xor eax, eax
cmp byte [ebp - 0x185], al
cmovne ecx, eax
push ecx
push 0x75c7
push ecx
mov eax, esp
mov dword [ebp - 0x184], esp
push str._rY6R
push 0x7d4
push eax
mov ecx, edx
call fcn.0043215d
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x30
push str.finish
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x2f
call fcn.004993e7
mov byte [ebp - 4], 0x31
call fcn.00431e5f
mov esi, dword [ebx + 0x70]
push 0x3c
push 0x7537
push ecx
mov ecx, esp
mov dword [ebp - 0x184], esp
push 0x4c8b84
push 0x7df
push ecx
mov ecx, eax
call fcn.0043215d
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x32
push str.close
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0x31
call fcn.004993e7
push 0xb
lea eax, [ebp - 0xf0]
mov dword [ebp - 4], 0x33
push eax
mov ecx, ebx
call fcn.0049a1cd
push 0x49d079
push 0xb
lea eax, [ebp - 0xf0]
jmp 0x49d053
call fcn.00431e5f
mov esi, dword [ebx + 0xa8]
mov ecx, eax
push 0x64
pop edi
xor eax, eax
cmp byte [ebp - 0x185], al
cmovne edi, eax
push edi
push 0x7574
push ecx
mov eax, esp
mov dword [ebp - 0x184], esp
push 0x4c8af4
push 0x7d1
push eax
call fcn.0043215d
and dword [ebp - 4], 0
push ecx
mov ecx, esp
push str.topmost_desktop
call fcn.0040d6dc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x140]
push esi
call fcn.004993e7
mov dword [ebp - 4], 1
call fcn.00431e5f
mov esi, dword [ebx + 0x90]
push edi
push 0x75c6
push ecx
mov ecx, esp
mov dword [ebp - 0x184], esp
push str.X_:NP
push 0x7d2
push ecx
mov ecx, eax
call fcn.0043215d
push ecx
mov ecx, esp
mov byte [ebp - 4], 2
push 0x4c8a88
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x12c]
mov byte [ebp - 4], 1
call fcn.004993e7
mov byte [ebp - 4], 3
call fcn.00431e5f
mov esi, dword [ebx + 0xbc]
push edi
push 0x759d
push ecx
mov ecx, esp
mov dword [ebp - 0x184], esp
push 0x4c8a7c
push 0x7d3
push ecx
mov ecx, eax
call fcn.0043215d
push ecx
mov ecx, esp
mov byte [ebp - 4], 4
push 0x4c8aa8
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x118]
mov byte [ebp - 4], 3
call fcn.004993e7
push 1
push 0x75ba
mov byte [ebp - 4], 5
mov esi, dword [ebx + 0xc4]
push ecx
mov ecx, esp
mov dword [ebp - 0x184], esp
mov edi, 0x4c159a
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 6
push str.split_line
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x104]
mov byte [ebp - 4], 5
call fcn.004993e7
push 0x24
push 0x753e
push ecx
mov byte [ebp - 4], 7
mov ecx, esp
mov esi, dword [ebx + 0x78]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 8
push str.rectangle
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xf0]
mov byte [ebp - 4], 7
call fcn.004993e7
push 0x24
push 0x7557
push ecx
mov byte [ebp - 4], 9
mov ecx, esp
mov esi, dword [ebx + 0x88]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xa
push str.ellipse
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xdc]
mov byte [ebp - 4], 9
call fcn.004993e7
push 0x24
push 0x7541
push ecx
mov byte [ebp - 4], 0xb
mov ecx, esp
mov esi, dword [ebx + 0x7c]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xc
push str.arrow
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xc8]
mov byte [ebp - 4], 0xb
call fcn.004993e7
push 0x24
push 0x7544
mov byte [ebp - 4], 0xd
mov esi, dword [ebx + 0x80]
push ecx
mov ecx, esp
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0xe
push str.brush
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 4], 0xd
call fcn.004993e7
push 0x24
push 0x755d
push ecx
mov byte [ebp - 4], 0xf
mov ecx, esp
mov esi, dword [ebx + 0x94]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x10
push 0x4c7898
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0xa0]
mov byte [ebp - 4], 0xf
call fcn.004993e7
push 0x24
push 0x7560
push ecx
mov byte [ebp - 4], 0x11
mov ecx, esp
mov esi, dword [ebx + 0x9c]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x12
push str.undo
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x8c]
mov byte [ebp - 4], 0x11
call fcn.004993e7
push 1
push 0x75ba
push ecx
mov byte [ebp - 4], 0x13
mov ecx, esp
mov esi, dword [ebx + 0xc8]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x14
push str.split_line2
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 0x13
call fcn.004993e7
push 1
push 0x75ba
push ecx
mov byte [ebp - 4], 0x15
mov ecx, esp
mov esi, dword [ebx + 0xcc]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x16
push str.split_line3
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x64]
mov byte [ebp - 4], 0x15
call fcn.004993e7
push 0x24
push 0x7534
push ecx
mov byte [ebp - 4], 0x17
mov ecx, esp
mov esi, dword [ebx + 0x6c]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x18
push 0x4c76ec
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 0x17
call fcn.004993e7
push 0x24
push 0x7537
push ecx
mov byte [ebp - 4], 0x19
mov ecx, esp
mov esi, dword [ebx + 0x70]
mov dword [ebp - 0x184], esp
push edi
call fcn.004214b2
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1a
push str.close
call fcn.0040d6dc
push esi
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x19
call fcn.004993e7
mov byte [ebp - 4], 0x1b
call fcn.00431e5f
mov esi, dword [ebx + 0x68]
xor edx, edx
cmp byte [ebp - 0x185], dl
push 0x46
pop ecx
cmovne ecx, edx
push ecx
push 0x7531
push ecx
mov ecx, esp
mov dword [ebp - 0x184], esp
push 0x4c8b34
push 0x7d4
push ecx
mov ecx, eax
call fcn.0043215d
push ecx
mov ecx, esp
mov byte [ebp - 4], 0x1c
push str.finish
call fcn.0040d6dc
push esi
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x28]
call fcn.004993e7
push 0xf
lea eax, [ebp - 0x140]
mov dword [ebp - 4], 0x1d
push eax
mov ecx, ebx
call fcn.0049a1cd
push 0x49d079
push 0xf
lea eax, [ebp - 0x140]
or dword [ebp - 4], 0xffffffff
push 0x14
push eax
call fcn.004a4d22
mov ecx, ebx
call fcn.0049d217
test eax, eax
jne 0x49d071
mov ecx, ebx
call fcn.0049d208
call fcn.004a7658
ret 4