Function at 0x2d0a580
Capabilities:
Contain obfuscated stackstrings
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x110
cmp dword [ecx + 0x20], 0
je 0x2d0a5e7
mov esi, ecx
movzx eax, byte [ecx]
mov byte [esp + 0xf], 0
test eax, eax
je 0x2d0a5ee
cmp al, 0x64
jb 0x2d0a5fd
lea ecx, [eax + eax*4]
lea ecx, [eax + ecx*8]
movzx ecx, cx
shr ecx, 0xc
imul edx, ecx, 0x64
sub al, dl
movzx eax, al
mov edx, eax
and edx, 2
mov edi, eax
or eax, 2
imul eax, edx
xor edx, 2
and edi, 0x7d
imul edi, edx
movzx eax, word [edi + eax + 0x2d41448]
mov word [esp + 0xd], ax
mov edx, 1
mov eax, ecx
jmp 0x2d0a606
mov bl, 1
jmp 0x2d0acb9
lea eax, [esp + 0xe]
mov dword [esp + 0x3c], eax
mov byte [esp + 0xe], 0x30
jmp 0x2d0a632
mov edx, 3
cmp al, 9
ja 0x2d0a61d
movzx eax, byte [eax + 0x2d42560]
lea ecx, [esp + edx]
add ecx, 0xb
mov dword [esp + 0x3c], ecx
mov byte [esp + edx + 0xb], al
jmp 0x2d0a632
movzx eax, word [eax + eax + 0x2d41448]
lea ecx, [esp + 0xd]
mov dword [esp + 0x3c], ecx
mov word [esp + 0xd], ax
lea eax, [esi + 0x10]
push eax
call fcn.02d074e0
add esp, 4
mov edi, dword [esi + 0x10]
mov eax, dword [esi + 0x58]
mov eax, dword [eax + 0x48]
mov dword [esp + 0xe0], eax
lea ebx, [esp + 0xeb]
push ebx
call fcn.02d37f60
add esp, 4
mov dword [esp + 0xe4], edi
lea eax, [edi + 0x800]
push eax
call fcn.02d39cc0
add esp, 4
mov edi, eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], 0xe7dbc6d4
mov byte [esp + 0x44], 0x40
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x1b
ja 0x2d0a707
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ecx, byte [esp + ecx + 0x40]
lea edx, [eax - 0x4dd0fa8a]
and edx, ecx
add eax, ecx
add eax, 0xb22f0576
add edx, edx
sub eax, edx
add al, 0xc6
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x1c
jb 0x2d0a6d0
lea eax, [esp + 0x40]
mov ecx, esi
push ebx
push eax
push edi
call fcn.02d09db0
mov byte [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0x4bb0cac6
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x1c
ja 0x2d0a7b7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx edx, byte [esp + eax + 0x40]
lea eax, [ecx + edx]
add eax, 0x689a440d
add ecx, 0x689a440d
and ecx, edx
add ecx, ecx
sub eax, ecx
mov ecx, eax
or ecx, 0xa4
and eax, 0xa4
add eax, ecx
inc al
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x1d
jb 0x2d0a770
mov ecx, esi
push dword [esp + 0x3c]
lea eax, [esp + 0x44]
push eax
push edi
call fcn.02d09db0
mov eax, dword [0x2d43430]
mov byte [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0x83687272
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0x14
ja 0x2d0a84a
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
movzx ebx, byte [esp + ecx + 0x40]
lea ecx, [edx + ebx]
add ecx, 0xc1
add edx, 0xc1
and edx, ebx
add edx, edx
sub ecx, edx
add cl, 0xb9
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0x15
jb 0x2d0a810
mov ecx, esi
push eax
lea eax, [esp + 0x44]
push eax
push edi
call fcn.02d09db0
mov dword [esp + 0x40], 0x6f766e7b
mov dword [esp + 0x44], 0x726b7263
mov dword [esp + 0x48], 0x60656273
mov byte [esp + 0x4c], 0xca
mov dword [esp + 0x4d], 0
mov dword [esp + 0x51], 0
mov dword [esp + 0x55], 0
mov dword [esp + 0x59], 0
mov byte [esp + 0x5d], 0
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x1d
ja 0x2d0a8f6
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx edx, byte [esp + eax + 0x40]
lea eax, [ecx + edx]
add eax, 0x5d5976a1
add ecx, 0x5d5976a1
and ecx, edx
add ecx, ecx
sub eax, ecx
mov ecx, eax
xor ecx, 0x98
and eax, 0x18
lea eax, [ecx + eax*2]
inc al
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x1e
jb 0x2d0a8b0
mov byte [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 0x63f80809
mov dword [esp + 8], 0
mov eax, dword [esp + 8]
cmp eax, 0x14
ja 0x2d0a97b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov eax, dword [esp + 8]
movzx edx, byte [esp + eax + 0x10]
lea ebx, [ecx + 0xf1]
and ebx, edx
mov eax, 0xe
sub eax, ecx
or eax, edx
not eax
add eax, edx
sub eax, ebx
add al, 0x69
mov ecx, dword [esp + 8]
mov byte [esp + ecx + 0x10], al
inc dword [esp + 8]
mov eax, dword [esp + 8]
cmp eax, 0x15
jb 0x2d0a940
lea edx, [esp + 0x10]
mov ecx, esi
lea eax, [esp + 0x40]
push eax
push edx
mov dword [esp + 0x44], edi
push edi
call fcn.02d09db0
mov dword [esp + 0x44], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x40], 0x6870726c
mov byte [esp + 0x44], 2
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
cmp eax, 0x17
ja 0x2d0aa1f
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x10]
movzx ebx, byte [esp + eax + 0x40]
lea eax, [edx + 1]
mov ecx, 0xfe
sub ecx, edx
sub ecx, ebx
add edx, ebx
inc edx
and eax, ebx
add eax, eax
and ecx, eax
not eax
and eax, edx
sub eax, ecx
add al, 0xf9
mov ecx, dword [esp + 0x10]
mov byte [esp + ecx + 0x40], al
inc dword [esp + 0x10]
mov eax, dword [esp + 0x10]
cmp eax, 0x18
jb 0x2d0a9e0
mov ecx, esi
push dword [esp + 0xe4]
push dword [esp + 0xe4]
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x48]
call fcn.02d0a100
mov eax, dword [esi + 0x60]
mov dword [esp + 0x40], 0x3b8939f3
mov dword [esp + 0x44], 0x3f883d94
mov dword [esp + 0x48], 0x3ae0199
mov dword [esp + 0x4c], 0x7eb05b6
mov dword [esp + 0x50], 0xbb309d2
mov dword [esp + 0x54], 0xfab0dba
mov dword [esp + 0x58], 0x13f011f4
mov dword [esp + 0x5c], 0x17a315bd
mov dword [esp + 0x60], 0x1bac19ba
mov dword [esp + 0x64], 0x1fac1db1
mov dword [esp + 0x68], 0xe352e1bd
mov dword [esp + 0x6c], 0xe715e556
mov dword [esp + 0x70], 0xeb59e940
mov dword [esp + 0x74], 0xef43ed58
mov dword [esp + 0x78], 0xf354f101
mov dword [esp + 0x7c], 0xf740f551
mov dword [esp + 0x80], 0xfb05f955
mov dword [esp + 0x84], 0xff5efd1a
mov dword [esp + 0x88], 0xc377c14f
mov dword [esp + 0x8c], 0xc760c56c
mov dword [esp + 0x90], 0xcb7ac965
mov dword [esp + 0x94], 0xcf33cd71
mov dword [esp + 0x98], 0xd377d16c
mov dword [esp + 0x9c], 0xd723d52a
mov dword [esp + 0xa0], 0xdb7fd972
mov dword [esp + 0xa4], 0xdf77dd2d
mov dword [esp + 0xa8], 0xa304a16e
mov dword [esp + 0xac], 0xa701a513
mov dword [esp + 0xb0], 0xab0fa90d
mov dword [esp + 0xb4], 0xaf1ead18
mov dword [esp + 0xb8], 0xb343b109
mov dword [esp + 0xbc], 0xb7beb5bd
mov word [esp + 0xc0], 0xb9b6
mov word [esp + 0xd2], 0
mov dword [esp + 0xce], 0
mov dword [esp + 0xca], 0
mov dword [esp + 0xc6], 0
mov dword [esp + 0xc2], 0
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0x93
ja 0x2d0abfa
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
add cl, 0x57
xor cl, byte [esp + edx + 0x40]
add cl, 0x9f
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x40], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0x94
jb 0x2d0abd0
mov dword [esp + 0x10], 0x3b9b3967
mov dword [esp + 0x14], 0x3f973daa
mov word [esp + 0x18], 0x213e
mov dword [esp + 0x1a], 0
mov dword [esp + 0x1e], 0
mov dword [esp + 0x22], 0
mov dword [esp + 0x26], 0
mov byte [esp + 0x2a], 0
mov dword [esp + 8], 0
mov ecx, dword [esp + 8]
cmp ecx, 0x1a
ja 0x2d0ac80
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 8]
mov edx, dword [esp + 8]
movzx edx, byte [esp + edx + 0x10]
lea edi, [ecx + 7]
and edi, edx
add ecx, edx
add edi, edi
sub ecx, edi
add cl, 0xd6
mov edx, dword [esp + 8]
mov byte [esp + edx + 0x10], cl
inc dword [esp + 8]
mov ecx, dword [esp + 8]
cmp ecx, 0x1b
jb 0x2d0ac50
push 0x493e0
push eax
mov edi, dword [esp + 0x44]
push edi
push 0
push 0
lea eax, [esp + 0x54]
push eax
lea eax, [esp + 0x28]
push eax
call fcn.02d0e810
add esp, 0x1c
mov ebx, eax
push edi
call fcn.02d09400
add esp, 4
mov eax, dword [esi + 0x60]
add dword [esi + 4], eax
mov dword [esi + 0x60], 0
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret