Function at 0x1000bd14
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x160
lea ecx, [esp + 0x24]
xor ebx, ebx
lea esi, [esp + 0xd0]
mov dword [esp + 0x28], ecx
mov eax, dword [esp + 0x28]
mov dword [ecx], ebx
lea ecx, [esp + 0x1c]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x2c]
mov dword [ecx], ebx
mov dword [esp + 0x30], esi
mov ecx, esi
mov eax, dword [esp + 0x30]
call fcn.10004a38
push esi
push 0x58
call fcn.10007826
add esp, 8
mov ecx, esi
push ebx
call fcn.100060ae
lea edi, [esp + 0xe0]
mov dword [esp + 0x20], edi
mov eax, dword [esp + 0x20]
push 0x80
push ebx
push dword [esp + 0x28]
call fcn.10090dd0
add esp, 0xc
mov ebx, dword [esi + 0xc]
push 0x36
call fcn.1004f4fc
add esp, 4
movaps xmm0, xmmword [0x1009c4c0]
movaps xmm2, xmmword [0x1009c4d0]
movaps xmm1, xmmword [0x1009c4e0]
lea edx, [esp + 0xc0]
lea ecx, [esp + 0xbe]
mov esi, 0x5ec922a5
mov dword [esp], edx
mov edx, 0xe43ae3b2
movups xmmword [ecx - 0x62], xmm0
movups xmmword [ecx - 0x52], xmm2
movups xmmword [ecx - 0x42], xmm1
mov word [ecx - 0x32], 0x18
cmp esi, 0xe43ae3b2
je 0x1000bdfa
cmp esi, 0x5ec922a5
jne 0x1000bdd5
mov word [ecx], 0
add ecx, 2
mov esi, 0x5ec922a5
cmp ecx, dword [esp]
cmove esi, edx
jmp 0x1000bdd5
add eax, 0x64
xor edx, edx
mov esi, 0x748fe16d
cmp esi, 0xe1b1e751
je 0x1000be34
cmp esi, 0x6ed10032
je 0x1000be90
cmp esi, 0x748fe16d
jne 0x1000be04
mov dword [esp], edx
mov ecx, 0xe1b1e751
mov esi, dword [esp]
cmp esi, 0x31
mov esi, 0x6ed10032
cmovb esi, ecx
jmp 0x1000be04
mov edx, dword [esp]
mov dword [esp + 0x14], eax
mov eax, ebx
mov ebx, edi
movzx esi, word [esp + edx*2 + 0x5c]
mov edi, dword [esp]
mov ebp, esi
and esi, 0xffff8e2a
lea ecx, [edi + 0x1780]
not ebp
and ebp, 0x71d5
or esi, ebp
mov ebp, esi
xor esi, 0xffff99aa
and esi, ecx
mov ecx, 0xffffe87f
xor ebp, 0x6655
sub ecx, edi
mov edi, ebx
mov ebx, eax
mov eax, dword [esp + 0x14]
and ecx, ebp
or ecx, esi
mov word [esp + edx*2 + 0x5c], cx
mov edx, dword [esp]
inc edx
jmp 0x1000bdff
lea ecx, [esp + 0x5c]
mov dword [esp + 0x34], edi
mov word [ecx + 0x62], 0
push ebx
push eax
push ecx
push dword [esp + 0x40]
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0x10
lea edi, [esp + 0xc0]
mov dword [esp + 0x38], edi
mov ecx, edi
mov eax, dword [esp + 0x38]
call fcn.10004a38
lea ebx, [esp + 0x18]
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + 0x3c]
xor eax, eax
push eax
push eax
push eax
push ebx
push edi
push 2
push eax
push dword [esp + 0x1a4]
call fcn.1000988e
add esp, 0x20
mov eax, dword [ebx]
mov esi, 0x2e4fdbe9
mov dword [esp + 0x50], eax
mov eax, dword [edi]
mov dword [esp + 0x54], eax
mov eax, 0xc9c280ee
cmp eax, 0xe156088
jg 0x1000bf4b
cmp eax, 0xb7e51e52
jle 0x1000bf9d
cmp eax, 0xf7010406
jle 0x1000c03f
cmp eax, 0xf7010407
je 0x1000c128
cmp eax, 0xbeaf82
je 0x1000c160
cmp eax, 0xd2d1900
jne 0x1000beff
cmp dword [esp + 0x48], 0
mov eax, 0x15dfccc3
cmove eax, esi
jmp 0x1000c50d
cmp eax, 0x348a80d6
jg 0x1000bfdb
cmp eax, 0x21021fc4
jle 0x1000c0df
cmp eax, 0x21021fc5
je 0x1000c1a4
cmp eax, 0x2df2c5df
je 0x1000c1e4
cmp eax, 0x2e4fdbe9
jne 0x1000beff
mov dword [esp + 0x58], ebx
mov dword [esp + 0x4c], edi
mov eax, 0x9637e9b5
mov ecx, 0xb16462b3
cmp dword [esp + 0x4c], 0
cmove eax, ecx
jmp 0x1000beff
cmp eax, 0x966b2754
jle 0x1000c073
cmp eax, 0x966b2755
je 0x1000c16c
cmp eax, 0x97a34181
je 0x1000c52a
cmp eax, 0xb16462b3
jne 0x1000beff
mov ecx, dword [esp + 0x58]
mov eax, 0x97a34181
mov dword [esp + 0x14], ecx
jmp 0x1000beff
cmp eax, 0x65dc1a51
jle 0x1000c0ff
cmp eax, 0x65dc1a52
je 0x1000c1fd
cmp eax, 0x6a365a1a
je 0x1000c24f
cmp eax, 0x7407fd29
jne 0x1000beff
push dword [esp + 0x18c]
push dword [esp + 0x188]
push 0
push dword [esp + 0x184]
push dword [esp + 0x198]
push dword [esp + 0x188]
push dword [esp + 0x24]
call fcn.1000f8a8
mov eax, 0xbeaf82
jmp 0x1000beff
cmp eax, 0xb7e51e53
je 0x1000c17b
cmp eax, 0xc9c280ee
jne 0x1000c51a
mov eax, dword [esp + 0x50]
mov ecx, 0x65dc1a52
cmp eax, dword [esp + 0x54]
mov eax, 0x2e4fdbe9
cmove eax, ecx
xor ebx, ebx
xor edi, edi
jmp 0x1000beff
cmp eax, 0x8c5dfc1a
je 0x1000c189
cmp eax, 0x9637e9b5
jne 0x1000beff
lea eax, [esp + 0x68]
mov ecx, 0x47c7a77e
mov dword [esp + 0x5c], 0x77706856
mov dword [esp + 0x60], 0x416a6471
mov word [esp + 0x64], 0x6c7a
mov byte [esp + 0x66], 0x6f
mov dword [esp], eax
lea eax, [esp + 0x67]
cmp ecx, 0x86774c74
je 0x1000c26a
cmp ecx, 0x47c7a77e
jne 0x1000c0b5
mov byte [eax], 0
inc eax
mov ecx, 0x47c7a77e
mov edx, 0x86774c74
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x1000c0b5
cmp eax, 0xe156089
je 0x1000c2d2
cmp eax, 0x15dfccc3
jne 0x1000beff
mov eax, 0x97a34181
jmp 0x1000beff
cmp eax, 0x348a80d7
je 0x1000c2ed
cmp eax, 0x4ff72a55
jne 0x1000beff
push dword [esp + 0xc]
call fcn.1000fcb2
mov eax, 0xbeaf82
jmp 0x1000beff
push dword [esp + 0x18c]
push dword [esp + 0x188]
push 0
push dword [esp + 0x184]
push dword [esp + 0x198]
push dword [esp + 0x188]
push dword [esp + 0x24]
call fcn.1000ff8c
mov eax, 0xbeaf82
jmp 0x1000beff
mov eax, 0xb7e51e53
xor ebp, ebp
jmp 0x1000beff
mov eax, 0xb7e51e53
mov ebp, 2
jmp 0x1000beff
mov dword [esp + 0x48], ebp
mov eax, 0x2df2c5df
jmp 0x1000beff
mov eax, dword [esp + 0x10]
mov ecx, 0x4ff72a55
cmp eax, 0x1007
mov eax, 0xe156089
cmove eax, ecx
jmp 0x1000beff
mov eax, dword [esp + 0x24]
mov edi, 0x2e4fdbe9
mov esi, 0x2e4fdbe9
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x44], edx
test ecx, ecx
mov edx, dword [esp + 0x44]
sete al
test edx, edx
sete ah
xor ah, al
mov eax, 0x348a80d7
cmovne eax, edi
or ecx, edx
cmove eax, edi
jmp 0x1000c50d
mov eax, dword [esp + 0x48]
mov ecx, 0xd2d1900
cmp eax, 2
mov eax, 0x2e4fdbe9
cmovl eax, ecx
jmp 0x1000c50d
lea eax, [esp + 0x69]
mov ecx, 0x7371f918
mov dword [esp + 0x5c], 0x77706856
mov dword [esp + 0x60], 0x466a6471
mov dword [esp + 0x64], 0x68656564
mov dword [esp], eax
lea eax, [esp + 0x68]
cmp ecx, 0x741a295e
je 0x1000c334
cmp ecx, 0x7371f918
jne 0x1000c225
mov byte [eax], 0
inc eax
mov ecx, 0x7371f918
mov edx, 0x741a295e
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x1000c225
mov eax, dword [esp + 0x10]
mov ecx, 0xe600f4c8
cmp eax, 0x1005
mov eax, 0x966b2755
cmove eax, ecx
jmp 0x1000beff
xor eax, eax
mov ecx, 0x4365cb22
cmp ecx, 0x389d28ca
je 0x1000c2a5
cmp ecx, 0x78c8d1d2
je 0x1000c38b
cmp ecx, 0x4365cb22
jne 0x1000c271
mov dword [esp], eax
mov edx, 0x389d28ca
mov ecx, dword [esp]
cmp ecx, 0xb
mov ecx, 0x78c8d1d2
cmovb ecx, edx
jmp 0x1000c271
mov ecx, dword [esp]
mov dl, byte [esp + ecx + 0x5c]
mov eax, dword [esp]
mov dh, dl
and dl, 0x73
not dh
and dh, 0x8c
or dl, dh
mov dh, al
and al, 0x73
not dh
and dh, 0x8c
or al, dh
xor al, dl
mov byte [esp + ecx + 0x5c], al
mov eax, dword [esp]
inc eax
jmp 0x1000c26c
mov eax, dword [esp + 0x10]
mov ecx, 0xf7010407
cmp eax, 0x3004
mov eax, 0x6a365a1a
cmove eax, ecx
jmp 0x1000beff
mov eax, dword [esp + 0x44]
push dword [esp + 0x188]
push eax
push dword [esp + 0x48]
push eax
call fcn.1008ecb8
add esp, 0x10
mov eax, dword [esp + 0x1c]
mov ecx, 0x7407fd29
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
cmp eax, 0x7002
mov eax, 0x8c5dfc1a
cmove eax, ecx
jmp 0x1000beff
xor eax, eax
mov ecx, 0x23aa364b
cmp ecx, 0xade85fba
je 0x1000c36b
cmp ecx, 0xfdcc9849
je 0x1000c3b0
cmp ecx, 0x23aa364b
jne 0x1000c33b
mov dword [esp], eax
mov edx, 0xade85fba
mov ecx, dword [esp]
cmp ecx, 0xc
mov ecx, 0xfdcc9849
cmovb ecx, edx
jmp 0x1000c33b
mov ecx, dword [esp]
mov dl, byte [esp + ecx + 0x5c]
mov eax, dword [esp]
mov dh, dl
not dh
and dh, al
not al
and al, dl
or al, dh
mov byte [esp + ecx + 0x5c], al
mov eax, dword [esp]
inc eax
jmp 0x1000c336
lea ecx, [esp + 0x5c]
mov byte [esp + 0x67], 0
call fcn.100068cd
push 0x8000
push 0
push dword [esp + 0x54]
call eax
mov eax, 0xb16462b3
jmp 0x1000beff
lea ecx, [esp + 0x5c]
mov byte [esp + 0x68], 0
call fcn.100068cd
push 4
push 0x1000
push dword [esp + 0x20]
push 0
call eax
mov dword [esp + 4], eax
lea eax, [esp + 0x63]
mov ecx, 0xfcaac6fa
mov dword [esp + 0x5c], 0x606f646d
mov word [esp + 0x60], 0x7c74
mov dword [esp], eax
lea eax, [esp + 0x62]
cmp ecx, 0xece48a4b
je 0x1000c416
cmp ecx, 0xfcaac6fa
jne 0x1000c3f0
mov byte [eax], 0
inc eax
mov ecx, 0xfcaac6fa
mov edx, 0xece48a4b
cmp eax, dword [esp]
cmove ecx, edx
jmp 0x1000c3f0
xor eax, eax
mov ecx, 0x52d4eb05
cmp ecx, 0x84a55528
je 0x1000c47a
cmp ecx, 0xac4cf4e0
je 0x1000c44d
cmp ecx, 0x52d4eb05
jne 0x1000c41d
mov dword [esp], eax
mov edx, 0xac4cf4e0
mov ecx, dword [esp]
cmp ecx, 6
mov ecx, 0x84a55528
cmovb ecx, edx
jmp 0x1000c41d
mov ecx, dword [esp]
mov dl, byte [esp + ecx + 0x5c]
mov eax, dword [esp]
mov dh, dl
mov ebx, eax
and dl, 0xf5
and al, 0xf5
not dh
not bl
and dh, 0xa
and bl, 0xa
or dl, dh
or al, bl
xor al, dl
mov byte [esp + ecx + 0x5c], al
mov eax, dword [esp]
inc eax
jmp 0x1000c418
lea ecx, [esp + 0x5c]
mov byte [esp + 0x62], 0
call fcn.100068cd
push dword [esp + 0x18]
push dword [esp + 0xc8]
push dword [esp + 0xc]
call eax
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 4]
sub esp, 0x28
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1ac]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], eax
lea eax, [esp + 0x4c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x44]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1a0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x19c]
mov dword [esp], eax
call fcn.1000c56c
add esp, 0x28
mov dword [esp + 8], eax
mov eax, 0x2e4fdbe9
mov ecx, 0x21021fc5
cmp dword [esp + 8], 0
cmove eax, ecx
mov edi, dword [esp + 4]
mov ebx, dword [esp + 8]
jmp 0x1000beff
cmp eax, 0xe600f4c8
jne 0x1000beff
call fcn.10010398
mov eax, dword [esp + 0x3c]
lea ecx, [esp + 0xc0]
call fcn.10004df6
mov eax, dword [esp + 0x38]
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0xd0]
call fcn.10004df6
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov eax, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
add esp, 0x160
pop esi
pop edi
pop ebx
pop ebp
ret 0x1c