Function at 0x10003e60
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x7c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
test esi, esi
je 0x10004954
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x10004954
cmp dword [eax], 0
jne 0x10004954
cmp dword [ebp + 0x10], 0
je 0x10004954
mov edi, dword [sym.imp.MSVCR120.dll_malloc]
push 0x10
call edi
add esp, 4
mov ebx, eax
mov dword [esp + 0x20], ebx
push 0x4000
call edi
add esp, 4
mov dword [ebx], eax
mov dword [ebx + 8], 0x1000
mov dword [ebx + 0xc], 0x1000
mov dword [ebx + 4], 0
push 0x4010
call edi
mov edx, eax
mov ecx, 0x1000
xor eax, eax
mov dword [esp + 0x28], edx
mov edi, edx
add esp, 4
rep stosd dword es:[edi], eax
mov dword [edx + 0x4000], eax
mov ecx, esi
mov eax, dword [sym.imp.MSVCR120.dll_free]
mov dword [edx + 0x4004], 0x10002ca0
mov dword [edx + 0x4008], 0x10006550
mov dword [edx + 0x400c], eax
mov dword [esp + 0x44], edx
lea edx, [esp + 0x40]
mov dword [esp + 0x40], ebx
call fcn.10002d20
mov eax, dword [ebx + 4]
cdq
mov ecx, edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], ecx
test ecx, ecx
ja 0x10003f66
jb 0x10003f37
cmp eax, 0x100
jae 0x10003f3e
mov byte [esp + 0x14], 1
jmp 0x10003f7d
test ecx, ecx
ja 0x10003f66
jb 0x10003f4b
cmp eax, 0x10000
jae 0x10003f52
mov byte [esp + 0x14], 2
jmp 0x10003f7d
test ecx, ecx
ja 0x10003f66
jb 0x10003f5f
cmp eax, 0x1000000
jae 0x10003f66
mov byte [esp + 0x14], 3
jmp 0x10003f7d
cmp ecx, 1
ja 0x10003f78
jb 0x10003f71
test eax, eax
jae 0x10003f78
mov byte [esp + 0x14], 4
jmp 0x10003f7d
mov byte [esp + 0x14], 8
mov dword [esp + 0x5c], ecx
xorps xmm0, xmm0
movlpd qword [esp + 0x38], xmm0
movlpd qword [esp + 0x28], xmm0
test ecx, ecx
jb 0x1000428b
ja 0x10003fa2
test eax, eax
je 0x1000428b
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], edx
lea ebx, [ebx]
test edx, edx
js 0x10003fd7
cmp edx, dword [ebx + 4]
jge 0x10003fd7
mov eax, dword [ebx]
mov eax, dword [eax + edx*4]
test eax, eax
je 0x10003fd9
mov ebx, dword [eax + 0xc]
jmp 0x10003fdb
xor eax, eax
xor ebx, ebx
mov ecx, dword [ebx + 0x10]
cmp ecx, 8
ja 0x100041eb
jmp dword [ecx*4 + 0x1000495c]
mov ecx, dword [ebx + 8]
add esi, 1
mov ebx, dword [ebx + 0xc]
adc edi, 0
test ebx, ebx
jne 0x10004202
cmp ecx, 0xf
jb 0x10004257
test ebx, ebx
ja 0x10004212
jb 0x1000420e
cmp ecx, 0x100
jae 0x10004212
mov al, 1
jmp 0x10004245
test ebx, ebx
ja 0x10004234
jb 0x10004220
cmp ecx, 0x10000
jae 0x10004224
mov al, 2
jmp 0x10004245
test ebx, ebx
jne 0x10004234
cmp ecx, 0x1000000
jae 0x10004234
mov al, 4
jmp 0x10004245
cmp ebx, 1
ja 0x10004243
jb 0x1000423f
test ecx, ecx
jae 0x10004243
mov al, 4
jmp 0x10004245
mov al, 8
movzx eax, al
cdq
add eax, 1
adc edx, 0
add esi, eax
adc edi, edx
mov edx, dword [esp + 0x1c]
add esi, ecx
adc edi, ebx
mov eax, dword [esp + 0x34]
add edx, 1
mov ebx, dword [esp + 0x20]
adc eax, 0
mov dword [esp + 0x1c], edx
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x18]
jb 0x10003fc0
mov eax, dword [esp + 0x10]
ja 0x10004293
cmp edx, eax
jb 0x10003fc0
jmp 0x10004293
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x38]
add esi, 8
adc edi, 0
test edi, edi
ja 0x100042d8
jb 0x100042a7
cmp esi, 0x100
jae 0x100042ae
mov ecx, 1
jmp 0x100042ef
test edi, edi
ja 0x100042d8
jb 0x100042bc
cmp esi, 0x10000
jae 0x100042c3
mov ecx, 2
jmp 0x100042ef
test edi, edi
ja 0x100042d8
jb 0x100042d1
cmp esi, 0x1000000
jae 0x100042d8
mov ecx, 3
jmp 0x100042ef
cmp edi, 1
ja 0x100042ea
jb 0x100042e3
test esi, esi
jae 0x100042ea
mov ecx, 4
jmp 0x100042ef
mov ecx, 8
mov edi, dword [sym.imp.MSVCR120.dll_malloc]
imul eax, ecx
push 0xc
add eax, 0x20
add esi, eax
call edi
add esp, 4
mov ebx, eax
mov dword [esp + 0x30], ebx
cmp esi, 0x1000
jbe 0x10004320
add esi, 0xfff
and esi, 0xfffff000
jmp 0x10004325
mov esi, 0x1000
push esi
mov dword [ebx + 8], esi
call edi
add esp, 4
mov dword [ebx], eax
mov dword [ebx + 4], 0
test eax, eax
je 0x10004368
cmp esi, 6
jae 0x1000434e
mov edx, 6
mov ecx, ebx
sub edx, esi
call fcn.100049c0
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
mov eax, dword [str.bplist]
mov dword [ecx], eax
mov ax, word [0x1000c4c4]
mov word [ecx + 4], ax
add dword [ebx + 4], 6
cmp dword [ebx], 0
je 0x10004398
mov eax, dword [ebx + 8]
sub eax, dword [ebx + 4]
cmp eax, 2
jae 0x10004386
mov edx, 2
mov ecx, ebx
sub edx, eax
call fcn.100049c0
mov ecx, dword [ebx]
add ecx, dword [ebx + 4]
mov ax, word [0x1000c4c8]
mov word [ecx], ax
add dword [ebx + 4], 2
mov edi, dword [esp + 0x10]
lea eax, [edi*8]
push eax
call dword [sym.imp.MSVCR120.dll_malloc]
add esp, 4
mov edx, eax
cmp dword [esp + 0x18], 0
xorps xmm0, xmm0
mov dword [esp + 0x1c], edx
movlpd qword [esp + 0x28], xmm0
jb 0x10004594
ja 0x100043d1
test edi, edi
je 0x10004594
mov eax, dword [esp + 0x2c]
mov esi, dword [esp + 0x28]
mov dword [esp + 0x34], eax
lea ecx, [ecx]
mov ecx, dword [esp + 0x20]
test esi, esi
js 0x100043fb
cmp esi, dword [ecx + 4]
jge 0x100043fb
mov eax, dword [ecx]
mov edi, dword [eax + esi*4]
test edi, edi
je 0x100043fb
mov edi, dword [edi + 0xc]
jmp 0x100043fd
xor edi, edi
mov eax, dword [ebx + 4]
mov dword [edx + esi*8], eax
mov eax, dword [edi + 0x10]
mov dword [edx + esi*8 + 4], 0
cmp eax, 9
ja 0x1000456a
jmp dword [eax*4 + 0x10004980]
mov eax, dword [esp + 0x34]
add esi, 1
mov edx, dword [esp + 0x1c]
adc eax, 0
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x18]
jb 0x100043e0
mov edi, dword [esp + 0x10]
ja 0x10004594
cmp esi, edi
jb 0x100043e0
mov esi, dword [esp + 0x20]
mov eax, dword [esi]
test eax, eax
je 0x100045a8
push eax
call dword [sym.imp.MSVCR120.dll_free]
add esp, 4
push esi
call dword [sym.imp.MSVCR120.dll_free]
mov ecx, dword [esp + 0x28]
add esp, 4
call fcn.10004a50
mov eax, dword [ebx + 4]
xor ecx, ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], ecx
ja 0x100045d7
jb 0x100045d3
cmp eax, 0x100
jae 0x100045d7
mov al, 1
jmp 0x1000460a
test ecx, ecx
ja 0x100045f9
jb 0x100045e4
cmp eax, 0x10000
jae 0x100045e8
mov al, 2
jmp 0x1000460a
test ecx, ecx
ja 0x100045f9
jb 0x100045f5
cmp eax, 0x1000000
jae 0x100045f9
mov al, 3
jmp 0x1000460a
cmp ecx, 1
ja 0x10004608
jb 0x10004604
test eax, eax
jae 0x10004608
mov al, 4
jmp 0x1000460a
mov al, 8
xorps xmm0, xmm0
mov byte [esp + 0xf], al
mov dword [ebp - 0x75], edx
push ebp
mov ebp, esp
or al, 0x50
push esi
push dword [ebp + 8]
call fcn.10004666
add esp, 0x10
lea ecx, [ebp - 0xb0]
push ecx
call eax
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0xac]
xor edx, edx
div ecx
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x1000498f
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
invalid
inc ebp