Function at 0x10004ee5
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push 0x860
mov eax, 0x10050781
call fcn.1004fe2e
mov eax, dword [0x10105fd4]
mov esi, dword [ebp + 0x10]
push 0x4000
push ecx
lea ecx, [ebp - 0x858]
mov dword [ebp - 0x85c], eax
call fcn.10004dc9
and dword [ebp - 4], 0
lea eax, [ebp - 0x858]
mov ecx, eax
mov dword [ebp - 0x86c], eax
call fcn.1000570d
mov edx, dword [ebp + 8]
lea ecx, [ebp - 0x858]
mov byte [ebp - 4], 1
call fcn.10004e4d
mov edx, 0x100525b4
lea ecx, [ebp - 0x858]
call fcn.10005ae3
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x20], 0x3b372732
mov dword [ebp - 0x1c], 0x21332524
mov dword [ebp - 0x18], 0x353f233f
mov word [ebp - 0x14], 0x100
call fcn.10005342
mov ebx, eax
mov edi, ebx
lea eax, [edi + 1]
mov cl, byte [edi]
inc edi
test cl, cl
jne 0x10004f76
push ecx
lea ecx, [ebp - 0x858]
sub edi, eax
call fcn.1000583c
push edi
push ebx
lea ecx, [ebp - 0x858]
call fcn.10005913
lea eax, [ebp - 0x858]
mov edx, str.args
mov ecx, eax
mov dword [ebp - 0x868], eax
call fcn.10006603
lea ecx, [ebp - 0x858]
call fcn.1000570d
mov edx, 0x10053078
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x858]
call fcn.10005ae3
push dword [ebp - 0x85c]
lea ecx, [ebp - 0x858]
call fcn.100057c9
test esi, esi
je 0x10005306
lea eax, [ebp - 0x858]
mov ecx, eax
mov dword [ebp - 0x864], eax
call fcn.100066e8
lea ecx, [ebp - 0x858]
call fcn.1000570d
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x858]
push dword [esi]
mov edx, str.state
call fcn.10005bc8
pop ecx
push dword [esi + 4]
lea ecx, [ebp - 0x858]
call fcn.10005ccc
mov eax, dword [esi + 8]
lea edi, [esi + 0x10]
or eax, dword [esi + 0xc]
pop ecx
jne 0x1000503e
mov eax, dword [edi]
or eax, dword [edi + 4]
je 0x100050b7
lea eax, [ebp - 0x858]
mov ecx, eax
mov dword [ebp - 0x85c], eax
call fcn.100067d0
lea ecx, [ebp - 0x858]
call fcn.1000570d
mov eax, dword [esi + 8]
or eax, dword [esi + 0xc]
je 0x10005085
mov edx, str.start
lea ecx, [ebp - 0x858]
call fcn.100059fe
push dword [esi + 0xc]
lea ecx, [ebp - 0x858]
push dword [esi + 8]
call fcn.10005750
mov eax, dword [edi]
or eax, dword [edi + 4]
je 0x100050ac
mov edx, 0x100530ac
lea ecx, [ebp - 0x858]
call fcn.10005ae3
push dword [edi + 4]
lea ecx, [ebp - 0x858]
push dword [edi]
call fcn.10005750
lea ecx, [ebp - 0x85c]
call fcn.10004e1f
mov eax, dword [esi + 0x18]
test eax, eax
je 0x100050c3
cmp byte [eax], 0
jne 0x100050e7
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x100050cf
cmp byte [eax], 0
jne 0x100050e7
mov eax, dword [esi + 0x20]
test eax, eax
je 0x100050db
cmp byte [eax], 0
jne 0x100050e7
mov eax, dword [esi + 0x24]
test eax, eax
je 0x10005160
cmp byte [eax], 0
je 0x10005160
lea eax, [ebp - 0x858]
mov ecx, eax
mov dword [ebp - 0x85c], eax
call fcn.100068b8
lea ecx, [ebp - 0x858]
call fcn.1000570d
push dword [esi + 0x18]
mov edx, str.large_image
lea ecx, [ebp - 0x858]
call fcn.10005dd3
pop ecx
push dword [esi + 0x1c]
mov edx, str.large_text
lea ecx, [ebp - 0x858]
call fcn.10005ed7
pop ecx
push dword [esi + 0x20]
mov edx, str.small_image
lea ecx, [ebp - 0x858]
call fcn.10005dd3
pop ecx
push dword [esi + 0x24]
mov edx, str.small_text
lea ecx, [ebp - 0x858]
call fcn.10005ed7
pop ecx
lea ecx, [ebp - 0x85c]
call fcn.10004e1f
mov eax, dword [esi + 0x28]
test eax, eax
je 0x1000516c
cmp byte [eax], 0
jne 0x10005183
xor ebx, ebx
cmp dword [esi + 0x2c], ebx
jne 0x10005185
cmp dword [esi + 0x30], ebx
jne 0x10005185
cmp dword [esi + 0x34], ebx
je 0x10005231
jmp 0x10005185
xor ebx, ebx
lea eax, [ebp - 0x858]
mov edx, str.party
mov ecx, eax
mov dword [ebp - 0x860], eax
call fcn.100059fe
lea ecx, [ebp - 0x858]
call fcn.1000570d
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x858]
push dword [esi + 0x28]
call fcn.10005fdb
pop ecx
cmp dword [esi + 0x2c], ebx
je 0x100051ff
cmp dword [esi + 0x30], ebx
je 0x100051ff
push ecx
lea eax, [ebp - 0x858]
push eax
lea ecx, [ebp - 0x85c]
call fcn.100060e2
push dword [esi + 0x2c]
lea ecx, [ebp - 0x858]
call fcn.100057c9
push dword [esi + 0x30]
lea ecx, [ebp - 0x858]
call fcn.100057c9
lea ecx, [ebp - 0x85c]
call fcn.10004e36
cmp dword [esi + 0x34], ebx
je 0x10005222
mov edx, str.privacy
lea ecx, [ebp - 0x858]
call fcn.10006140
push dword [esi + 0x34]
lea ecx, [ebp - 0x858]
call fcn.100057c9
lea ecx, [ebp - 0x860]
mov byte [ebp - 4], 3
call fcn.10004e1f
mov eax, dword [esi + 0x38]
test eax, eax
je 0x1000523d
cmp byte [eax], 0
jne 0x10005255
mov eax, dword [esi + 0x3c]
test eax, eax
je 0x10005249
cmp byte [eax], 0
jne 0x10005255
mov eax, dword [esi + 0x40]
test eax, eax
je 0x100052b5
cmp byte [eax], 0
je 0x100052b5
lea eax, [ebp - 0x858]
mov edx, str.secrets
mov ecx, eax
mov dword [ebp - 0x860], eax
call fcn.10006140
lea ecx, [ebp - 0x858]
call fcn.1000570d
push dword [esi + 0x38]
mov edx, str.match
lea ecx, [ebp - 0x858]
call fcn.10005bc8
pop ecx
push dword [esi + 0x3c]
lea ecx, [ebp - 0x858]
call fcn.10006225
pop ecx
push dword [esi + 0x40]
lea ecx, [ebp - 0x858]
call fcn.1000632c
pop ecx
lea ecx, [ebp - 0x860]
call fcn.10004e1f
push ecx
lea ecx, [ebp - 0x858]
call fcn.1000583c
push 8
push str.instance
lea ecx, [ebp - 0x858]
call fcn.10005913
cmp byte [esi + 0x44], 0
push ecx
lea ecx, [ebp - 0x858]
setne byte [ebp - 0x860]
call fcn.1000583c
push dword [ebp - 0x860]
lea ecx, [ebp - 0x858]
call fcn.1000588a
lea ecx, [ebp - 0x864]
call fcn.10004e1f
lea ecx, [ebp - 0x868]
call fcn.10004e1f
lea ecx, [ebp - 0x86c]
call fcn.10004e1f
mov esi, dword [ebp - 0x82c]
sub esi, dword [ebp - 0x834]
push 0x808
push dword [ebp - 0x850]
call fcn.1004c721
pop ecx
pop ecx
mov eax, esi
call fcn.1004fdec
ret