Function at 0x40fd00
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
xor eax, eax
mov edx, 0x61
mov ecx, 0x14
mov ebp, esp
push edi
push esi
lea edi, [ebp - 0x138]
mov esi, 0x44fe80
push ebx
lea ebx, [ebp - 0x178]
sub esp, 0x1a4
mov word [ebp - 0x170], ax
lea eax, [ebp - 0x138]
rep movsd dword es:[edi], dword [esi]
lea esi, [ebp - 0xe8]
mov word [ebp - 0x166], dx
mov dword [ebp - 0x178], 0x73696854
mov dword [ebp - 0x174], 0x736920
mov dword [ebp - 0x16e], 0x73696854
mov dword [ebp - 0x16a], 0x20736920
mov dword [ebp - 0x118], 0x44fd30
mov dword [esp + 8], eax
lea eax, [ebp - 0x164]
mov dword [esp], eax
mov eax, dword [sym.imp.rpcrt4.dll_NdrClientInitializeNew]
mov dword [esp + 0xc], 0
mov dword [esp + 4], esi
mov dword [ebp - 0x194], eax
call eax
mov eax, dword [sym.imp.rpcrt4.dll_NdrNonConformantStringBufferSize]
mov dword [ebp - 0xd4], 0
sub esp, 0x10
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x44fd30
mov dword [esp], esi
mov dword [ebp - 0x198], eax
call eax
sub esp, 0xc
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x887
mov eax, dword [sym.imp.msvcrt.dll_strlen]
mov edi, dword [ebp - 0xd4]
mov dword [esp], ebx
mov dword [ebp - 0x184], eax
call eax
mov dword [esp + 8], edi
add eax, 9
mov dword [esp + 4], str.length__ld_n
cmp edi, eax
setae al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov edi, dword [sym.imp.msvcrt.dll_malloc]
mov eax, dword [ebp - 0xd4]
mov dword [esp], eax
mov dword [ebp - 0x188], edi
call edi
mov edx, dword [ebp - 0xe8]
mov ecx, dword [sym.imp.rpcrt4.dll_NdrNonConformantStringMarshall]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xe4], eax
mov dword [edx + 8], eax
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x44fd30
mov dword [esp], esi
mov dword [ebp - 0x190], ecx
call ecx
sub esp, 0xc
mov edi, eax
mov eax, 0x88e
call fcn.00405ac0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.ret__p_n
mov dword [esp], eax
call fcn.004062b0
mov edi, dword [ebp - 0xe4]
sub edi, dword [ebp - 0xe0]
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x890
mov dword [esp], ebx
mov eax, dword [ebp - 0x184]
call eax
mov dword [esp + 0x10], edi
mov edx, dword [ebp - 0xe0]
add eax, 9
cmp eax, edi
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0xe4]
sete al
mov dword [esp + 4], str.Buffer__p_Start__p_len__ld_n
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x892
mov dword [esp], ebx
mov eax, dword [ebp - 0x184]
call eax
mov dword [esp + 4], ebx
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
add eax, 8
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.incorrectly_marshaled_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], 0
mov dword [0x48306c], 0
mov dword [ebp - 0xe4], eax
mov dword [esp], 0xa
mov edi, dword [ebp - 0x188]
call edi
lea edi, [ebp - 0x17c]
mov dword [ebp - 0x17c], eax
mov ebx, eax
mov eax, dword [sym.imp.rpcrt4.dll_NdrNonConformantStringUnmarshall]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x44fd30
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [ebp - 0x180], eax
call eax
mov eax, 0x89d
sub esp, 0x10
call fcn.00405ac0
mov dword [esp + 4], str.mem_alloced_n
xor eax, eax
cmp dword [ebp - 0x17c], ebx
sete al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x89e
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, dword [ebp - 0xe0]
mov dword [0x48306c], 0
mov dword [ebp - 0xe4], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x44fd30
mov dword [esp + 4], edi
mov dword [esp], esi
mov eax, dword [ebp - 0x180]
call eax
mov ecx, dword [0x4b3310]
sub esp, 0x10
mov dword [ebp - 0x18c], ecx
call fcn.00448020
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x18c]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x41009d
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8a4
xor eax, eax
mov dword [esp + 4], str.mem_alloced_n
cmp dword [ebp - 0x17c], ebx
sete al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410068
mov ecx, dword [0x4b3310]
mov dword [ebp - 0x18c], ecx
call fcn.00448020
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x18c]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x410123
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8a6
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4100e8
mov eax, dword [ebp - 0xe0]
mov dword [0x48306c], 0
mov byte [ebp - 0xc8], 0
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x17c], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x44fd30
mov dword [esp + 4], edi
mov dword [esp], esi
mov eax, dword [ebp - 0x180]
call eax
mov eax, 0x8ae
sub esp, 0x10
call fcn.00405ac0
mov dword [esp + 4], str.mem_not_alloced_n
xor eax, eax
cmp dword [ebp - 0x17c], ebx
setne al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8af
mov dword [esp + 4], str.mem_pointing_at_buffer_n
mov ecx, dword [ebp - 0xe0]
lea eax, [ecx + 8]
cmp dword [ebp - 0x17c], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, 0x8b0
call fcn.00405ac0
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov ecx, dword [sym.imp.msvcrt.dll_free]
mov eax, dword [ebp - 0x17c]
mov dword [esp], eax
mov dword [ebp - 0x18c], ecx
call ecx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x17c], ebx
mov dword [0x48306c], 0
mov dword [ebp - 0xe4], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x44fd30
mov dword [esp + 4], edi
mov dword [esp], esi
mov eax, dword [ebp - 0x180]
call eax
mov eax, 0x8b7
sub esp, 0x10
call fcn.00405ac0
mov dword [esp + 4], str.mem_alloced_n
xor eax, eax
cmp dword [ebp - 0x17c], ebx
sete al
mov dword [esp], eax
call fcn.004062b0
mov eax, 0x8b8
call fcn.00405ac0
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, dword [ebp - 0xe0]
mov dword [0x48306c], 0
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0xe4], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x44fd30
mov dword [esp + 4], edi
mov dword [esp], esi
mov eax, dword [ebp - 0x180]
call eax
mov ecx, dword [0x4b3310]
sub esp, 0x10
mov dword [ebp - 0x19c], ecx
call fcn.00448020
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x19c]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x410355
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8bf
xor eax, eax
mov dword [esp + 4], str.mem_alloced_n
cmp dword [ebp - 0x17c], ebx
sete al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410320
mov ecx, dword [0x4b3310]
mov dword [ebp - 0x19c], ecx
call fcn.00448020
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x19c]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x4103db
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8c1
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4103a0
mov dword [esp], ebx
mov ebx, dword [ebp - 0x18c]
call ebx
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 8]
mov dword [esp], eax
call ebx
lea eax, [ebp - 0x138]
mov dword [esp + 0xc], 0
lea ebx, [ebp - 0x16e]
mov dword [esp + 8], eax
lea eax, [ebp - 0x164]
mov dword [esp + 4], esi
mov dword [esp], eax
mov eax, dword [ebp - 0x194]
call eax
mov dword [ebp - 0xd4], 0
sub esp, 0x10
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x44fd30
mov dword [esp], esi
mov eax, dword [ebp - 0x198]
call eax
sub esp, 0xc
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8d0
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x194], edx
mov dword [esp], ebx
mov eax, dword [ebp - 0x184]
call eax
mov edx, dword [ebp - 0x194]
mov dword [esp + 4], str.length__ld_n
add eax, 9
cmp edx, eax
mov dword [esp + 8], edx
setae al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, dword [ebp - 0xd4]
mov dword [esp], eax
mov ecx, dword [ebp - 0x188]
call ecx
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xe4], eax
mov dword [edx + 8], eax
add eax, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], 0x44fd30
mov dword [esp], esi
mov edx, dword [ebp - 0x190]
call edx
sub esp, 0xc
mov dword [ebp - 0x190], eax
call fcn.00448020
mov edx, dword [ebp - 0x190]
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8d7
xor eax, eax
test edx, edx
sete al
mov dword [esp + 8], edx
mov dword [esp], eax
mov dword [esp + 4], str.ret__p_n
call fcn.004062b0
mov edx, dword [ebp - 0xe4]
mov eax, 0x8d9
sub edx, dword [ebp - 0xe0]
mov dword [ebp - 0x190], edx
call fcn.00405ac0
mov dword [esp], ebx
mov eax, dword [ebp - 0x184]
call eax
mov edx, dword [ebp - 0x190]
add eax, 9
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0xe0]
cmp eax, edx
sete al
mov dword [esp + 0xc], ecx
mov ecx, dword [ebp - 0xe4]
movzx eax, al
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 4], str.Buffer__p_Start__p_len__ld_n
call fcn.004062b0
mov eax, 0x8db
call fcn.00405ac0
mov dword [esp], ebx
mov eax, dword [ebp - 0x184]
call eax
mov dword [esp + 4], ebx
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xe0]
add eax, 8
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
mov dword [esp + 4], str.incorrectly_marshaled_n
test eax, eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], 0
mov dword [0x48306c], 0
mov dword [ebp - 0xe4], eax
mov dword [esp], 0xa
mov ecx, dword [ebp - 0x188]
call ecx
mov dword [ebp - 0x17c], eax
mov ebx, eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x44fd30
mov dword [esp + 4], edi
mov dword [esp], esi
mov eax, dword [ebp - 0x180]
call eax
mov eax, 0x8e6
sub esp, 0x10
call fcn.00405ac0
mov dword [esp + 4], str.mem_alloced_n
xor eax, eax
cmp dword [ebp - 0x17c], ebx
sete al
mov dword [esp], eax
call fcn.004062b0
mov eax, 0x8e7
call fcn.00405ac0
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, dword [ebp - 0xe0]
mov dword [0x48306c], 0
mov dword [ebp - 0xe4], eax
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x44fd30
mov dword [esp + 4], edi
mov dword [esp], esi
mov eax, dword [ebp - 0x180]
call eax
mov ecx, dword [0x4b3310]
sub esp, 0x10
mov dword [ebp - 0x184], ecx
call fcn.00448020
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x184]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x410725
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8ed
xor eax, eax
mov dword [esp + 4], str.mem_alloced_n
cmp dword [ebp - 0x17c], ebx
sete al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4106f0
mov ecx, dword [0x4b3310]
mov dword [ebp - 0x184], ecx
call fcn.00448020
mov ecx, dword [eax + 0x10]
mov dword [eax + 0x14], 1
lea edx, [ecx + ecx]
mov ecx, dword [ebp - 0x184]
test ecx, ecx
setne cl
movzx ecx, cl
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x4107ab
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8ef
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410770
mov eax, dword [ebp - 0xe0]
mov dword [0x48306c], 0
mov byte [ebp - 0xc8], 0
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0x17c], 0
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x44fd30
mov eax, dword [ebp - 0x180]
call eax
sub esp, 0x10
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x8f7
xor eax, eax
mov dword [esp + 4], str.mem_not_alloced_n
cmp dword [ebp - 0x17c], ebx
setne al
mov dword [esp], eax
call fcn.004062b0
mov eax, 0x8f8
call fcn.00405ac0
mov dword [esp + 4], str.mem_pointing_at_buffer_n
mov ecx, dword [ebp - 0xe0]
lea eax, [ecx + 8]
cmp dword [ebp - 0x17c], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, 0x8f9
call fcn.00405ac0
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
cmp eax, 1
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, dword [ebp - 0x17c]
mov dword [esp], eax
mov ecx, dword [ebp - 0x18c]
call ecx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x17c], ebx
mov dword [0x48306c], 0
mov dword [ebp - 0xe4], eax
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x44fd30
mov eax, dword [ebp - 0x180]
call eax
sub esp, 0x10
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x900
xor eax, eax
mov dword [esp + 4], str.mem_alloced_n
cmp dword [ebp - 0x17c], ebx
sete al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x901
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
mov eax, dword [ebp - 0xe0]
mov dword [0x48306c], 0
mov dword [ebp - 0x17c], ebx
mov dword [ebp - 0xe4], eax
mov dword [esp + 4], edi
mov dword [esp], esi
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0x44fd30
mov eax, dword [ebp - 0x180]
call eax
mov esi, dword [0x4b3310]
sub esp, 0x10
call fcn.00448020
xor ecx, ecx
test esi, esi
mov edi, dword [eax + 0x10]
setne cl
mov dword [eax + 0x14], 1
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x4109dd
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x908
xor eax, eax
mov dword [esp + 4], str.mem_alloced_n
cmp dword [ebp - 0x17c], ebx
sete al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x4109a8
mov esi, dword [0x4b3310]
call fcn.00448020
xor ecx, ecx
mov edi, dword [eax + 0x10]
test esi, esi
mov dword [eax + 0x14], 1
setne cl
lea edx, [edi + edi]
or edx, ecx
mov dword [eax + 0x10], edx
jmp 0x410a5b
call fcn.00448020
mov dword [eax], 0x44d655
mov dword [eax + 4], 0x90a
mov eax, dword [0x48306c]
mov dword [esp + 4], str.alloc_called__d_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004062b0
call fcn.00448020
shr dword [eax + 0x10], 1
call fcn.00448020
mov edx, dword [eax + 0x14]
mov dword [eax + 0x14], 0
test edx, edx
jne 0x410a20
mov dword [esp], ebx
mov esi, dword [ebp - 0x18c]
call esi
mov eax, dword [ebp - 0xe8]
mov eax, dword [eax + 8]
mov dword [esp], eax
call esi
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret