Function at 0x10040130
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x88
mov eax, dword [0x10141084]
xor eax, esp
mov dword [esp + 0x84], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x20], 0x13091f7d
mov dword [esp + 0x3c], edi
xor esi, esi
mov dword [esp + 0x24], 0x12111e22
mov word [esp + 0x28], 0x180e
mov byte [esp + 0x2a], 0
cmp esi, 0xa
jb 0x1004018c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x21]
xor al, byte [esp + 0x20]
mov byte [esp + 0xb], al
cmp esi, 0xa
jb 0x100401b8
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x21], al
inc esi
cmp esi, 9
jb 0x10040170
sub esp, 0x1c
mov byte [esp + 0x46], 0
lea eax, [esp + 0x3d]
mov ecx, esp
push eax
call fcn.100075f0
mov ecx, dword [edi]
call fcn.100196a0
add esp, 0x1c
mov dword [edi + 4], eax
mov dword [esp + 0x10], 0x312c395e
xor esi, esi
mov dword [esp + 0x14], 0x3d012e2b
mov dword [esp + 0x18], 0x3b2a3031
mov word [esp + 0x1c], 0x2a30
mov byte [esp + 0x1e], 0
nop dword [eax]
cmp esi, 0xe
jb 0x1004022c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x11]
xor al, byte [esp + 0x10]
mov byte [esp + 0xb], al
cmp esi, 0xe
jb 0x10040258
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x11], al
inc esi
cmp esi, 0xd
jb 0x10040210
sub esp, 0x1c
mov byte [esp + 0x3a], 0
lea eax, [esp + 0x2d]
mov ecx, esp
push eax
call fcn.100075f0
mov ecx, dword [edi]
call fcn.100196a0
xor ecx, ecx
mov dword [edi + 8], eax
add esp, 0x1c
mov dword [esp + 0x38], ecx
add edi, 0xc
mov dword [esp + 0x34], 5
nop dword [eax]
nop dword [eax + eax]
sub esp, 0x1c
mov dword [esp + 0x3c], 0x1c101c68
mov dword [esp + 0x4c], esp
xor esi, esi
mov dword [esp + 0x40], 0xd0d0637
mov dword [esp + 0x44], 0xc4d370c
push ecx
mov byte [esp + 0x4c], 0
cmp esi, 0xc
jb 0x100402e3
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x41]
xor al, byte [esp + 0x40]
mov byte [esp + 0x2b], al
cmp esi, 0xc
jb 0x1004030f
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x37]
add esp, 0xc
mov byte [esp + esi + 0x41], al
inc esi
cmp esi, 0xb
jb 0x100402c7
sub esp, 0x1c
mov byte [esp + 0x68], 0
lea eax, [esp + 0x5d]
mov ecx, esp
push eax
call fcn.100075f0
push dword [esp + 0x6c]
call fcn.10012db0
mov ecx, dword [esp + 0x7c]
add esp, 0x24
mov ecx, dword [ecx + 8]
call fcn.100196a0
mov dword [esp + 0x4c], esp
xor esi, esi
push dword [esp + 0x54]
mov dword [edi + 4], eax
mov dword [esp + 0x30], 0x4130061
mov dword [esp + 0x34], 0x40f3e00
mov dword [esp + 0x38], 0x443e0504
mov word [esp + 0x3c], 5
cmp esi, 0xd
jb 0x1004038d
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x31]
xor al, byte [esp + 0x30]
mov byte [esp + 0x2b], al
cmp esi, 0xd
jb 0x100403b9
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x37]
add esp, 0xc
mov byte [esp + esi + 0x31], al
inc esi
cmp esi, 0xc
jb 0x10040371
sub esp, 0x1c
mov byte [esp + 0x59], 0
lea eax, [esp + 0x4d]
mov ecx, esp
push eax
call fcn.100075f0
push dword [esp + 0x6c]
call fcn.10012db0
mov esi, dword [esp + 0x7c]
add esp, 0x24
mov ecx, dword [esi + 8]
call fcn.100196a0
add esp, 0x1c
mov dword [edi + 8], eax
call fcn.10016240
test eax, eax
je 0x100405f0
mov dword [edi], eax
call fcn.10019af0
mov ecx, eax
call dword [0x1012d87c]
test eax, eax
je 0x100405f0
mov ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi]
mov edx, dword [esi]
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov dword [esp + 0x30], edx
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10040462
push 4
push eax
call esi
test eax, eax
jne 0x10040462
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10040462
push 4
push eax
call esi
test eax, eax
jne 0x10040462
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x30]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x8c]
call eax
mov eax, dword [edi]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0xcc]
mov dword [ecx + 0x13c], 0
mov dword [ecx + 0x140], 0
mov dword [ecx + 0x144], 0x3f340000
mov dword [ecx + 0x148], 0x3f340000
mov dword [ecx + 0x1f0], 0
mov dword [ecx + 0x1f4], 0
mov dword [ecx + 0x1f8], 0
mov dword [ecx + 0x1fc], 0
call eax
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x100404f5
push 4
push eax
call esi
test eax, eax
jne 0x100404f5
mov eax, dword [esp + 0xc]
add eax, 0xb4
push 4
push eax
mov dword [esp + 0x14], eax
call esi
test eax, eax
jne 0x100404f5
mov eax, dword [esp + 0xc]
mov dword [eax], 0xb
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10040519
push 4
push eax
call esi
test eax, eax
jne 0x10040519
mov ecx, dword [esp + 0xc]
push pe_nt_image_headers32
call dword [0x1012d864]
mov esi, dword [edi + 8]
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x70], xmm0
test esi, esi
je 0x1004056e
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10040569
mov eax, dword [esi + 0xc4]
mov dword [esp + 0x70], eax
mov eax, dword [esi + 0xc8]
mov dword [esp + 0x74], eax
mov eax, dword [esi + 0xcc]
mov dword [esp + 0x78], eax
mov eax, dword [esi + 0xd0]
mov dword [esp + 0x7c], eax
movaps xmm0, xmmword [esp + 0x70]
jmp 0x1004056e
movaps xmm0, xmmword [esp + 0x40]
mov eax, dword [edi]
movaps xmmword [esp + 0x60], xmm0
mov esi, dword [eax]
test esi, esi
je 0x10040595
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10040595
lea eax, [esp + 0x60]
mov ecx, esi
push eax
call dword [0x1012d888]
mov eax, dword [edi]
mov esi, dword [eax]
test esi, esi
je 0x100405d2
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100405d2
mov eax, dword [esp + 0x60]
mov dword [esi + 0xd4], eax
mov eax, dword [esp + 0x64]
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x68]
mov dword [esi + 0xdc], eax
mov eax, dword [esp + 0x6c]
mov dword [esi + 0xe0], eax
mov eax, dword [edi]
mov esi, dword [eax]
test esi, esi
je 0x100405f0
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x100405f0
push eax
mov ecx, esi
call dword [0x1012d850]
mov ecx, dword [esp + 0x38]
add edi, 0xc
inc ecx
sub dword [esp + 0x34], 1
mov dword [esp + 0x38], ecx
jne 0x100402a0
mov dword [esp + 0x10], 0x494f483b
xor esi, esi
mov dword [esp + 0x14], 0x565e4964
mov dword [esp + 0x18], 0x5255525a
mov word [esp + 0x1c], 0x5c55
mov byte [esp + 0x1e], 0
nop dword [eax]
cmp esi, 0xe
jb 0x1004064c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x11]
xor al, byte [esp + 0x10]
mov byte [esp + 0xb], al
cmp esi, 0xe
jb 0x10040678
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x11], al
inc esi
cmp esi, 0xd
jb 0x10040630
sub esp, 0x1c
mov byte [esp + 0x3a], 0
lea eax, [esp + 0x2d]
mov ecx, esp
push eax
call fcn.100075f0
mov edi, dword [esp + 0x58]
mov ecx, dword [edi]
call fcn.100196a0
add esp, 0x1c
mov dword [edi + 0x48], eax
mov dword [esp + 0x10], 0x48554027
xor esi, esi
mov dword [esp + 0x14], 0x43785752
mov dword [esp + 0x18], 0x4e465342
mov word [esp + 0x1c], 0x4b
cmp esi, 0xd
jb 0x100406e4
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x11]
xor al, byte [esp + 0x10]
mov byte [esp + 0xb], al
cmp esi, 0xd
jb 0x10040710
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x11], al
inc esi
cmp esi, 0xc
jb 0x100406c8
sub esp, 0x1c
mov byte [esp + 0x39], 0
lea eax, [esp + 0x2d]
mov ecx, esp
push eax
call fcn.100075f0
mov ecx, dword [edi]
call fcn.100196a0
movaps xmm0, xmmword [0x101317c0]
add esp, 0x1c
mov dword [edi + 0x4c], eax
xor esi, esi
movups xmmword [esp + 0x40], xmm0
mov byte [esp + 0x50], 0
nop
cmp esi, 0x10
jb 0x1004076c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x41]
xor al, byte [esp + 0x40]
mov byte [esp + 0xb], al
cmp esi, 0x10
jb 0x10040798
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x41], al
inc esi
cmp esi, 0xf
jb 0x10040750
sub esp, 0x1c
mov byte [esp + 0x6c], 0
lea eax, [esp + 0x5d]
mov ecx, esp
push eax
call fcn.100075f0
mov ecx, dword [edi + 0x4c]
call fcn.100196a0
add esp, 0x1c
mov dword [edi + 0x50], eax
mov dword [esp + 0x20], 0x6d6b6c1f
xor esi, esi
mov dword [esp + 0x24], 0x7c766b40
mov dword [esp + 0x28], 0x6b7a74
nop
cmp esi, 0xb
jb 0x100407fc
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x21]
xor al, byte [esp + 0x20]
mov byte [esp + 0xb], al
cmp esi, 0xb
jb 0x10040828
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x21], al
inc esi
cmp esi, 0xa
jb 0x100407e0
sub esp, 0x1c
mov byte [esp + 0x47], 0
lea eax, [esp + 0x3d]
mov ecx, esp
push eax
call fcn.100075f0
mov ecx, dword [edi + 0x4c]
call fcn.100196a0
add esp, 0x1c
mov dword [edi + 0x54], eax
mov dword [esp + 0x20], 0xa0c0b78
xor esi, esi
mov dword [esp + 0x24], 0x19101b27
mov dword [esp + 0x28], 0x1d1f16
nop
cmp esi, 0xb
jb 0x1004088c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x21]
xor al, byte [esp + 0x20]
mov byte [esp + 0xb], al
cmp esi, 0xb
jb 0x100408b8
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x21], al
inc esi
cmp esi, 0xa
jb 0x10040870
sub esp, 0x1c
mov byte [esp + 0x47], 0
lea eax, [esp + 0x3d]
mov ecx, esp
push eax
call fcn.100075f0
mov ecx, dword [edi + 0x4c]
call fcn.100196a0
add esp, 0x1c
mov dword [edi + 0x58], eax
mov dword [esp + 0x20], 0x69736507
xor esi, esi
mov dword [esp + 0x24], 0x6e686d58
mov word [esp + 0x28], 0x69
nop dword [eax]
cmp esi, 9
jb 0x1004091c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x21]
xor al, byte [esp + 0x20]
mov byte [esp + 0xb], al
cmp esi, 9
jb 0x10040948
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x21], al
inc esi
cmp esi, 8
jb 0x10040900
sub esp, 0x1c
mov byte [esp + 0x45], 0
lea eax, [esp + 0x3d]
mov ecx, esp
push eax
call fcn.100075f0
mov ecx, dword [edi + 0x4c]
call fcn.100196a0
add esp, 0x1c
mov dword [edi + 0x5c], eax
mov dword [esp + 0x10], 0xd100562
xor esi, esi
mov dword [esp + 0x14], 0x103d1217
mov dword [esp + 0x18], 0x10031507
mov word [esp + 0x1c], 6
cmp esi, 0xd
jb 0x100409b1
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x11]
xor al, byte [esp + 0x10]
mov byte [esp + 0xb], al
cmp esi, 0xd
jb 0x100409dd
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x17]
add esp, 0xc
mov byte [esp + esi + 0x11], al
inc esi
cmp esi, 0xc
jb 0x10040995
sub esp, 0x1c
mov byte [esp + 0x39], 0
lea eax, [esp + 0x2d]
mov ecx, esp
push eax
call fcn.100075f0
mov ecx, dword [edi]
call fcn.100196a0
mov dword [edi + 0x60], eax
add esp, 0x1c
xor eax, eax
mov dword [esp + 0x30], 5
mov dword [esp + 0x38], eax
add edi, 0x64
nop dword [eax]
sub esp, 0x1c
mov dword [esp + 0x2c], 0x75797501
mov dword [esp + 0x28], esp
xor esi, esi
mov dword [esp + 0x30], 0x7664735e
mov dword [esp + 0x34], 0x5e657360
push eax
mov word [esp + 0x3c], 0x6524
mov byte [esp + 0x3e], 0
nop
cmp esi, 0xe
jb 0x10040a6c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x31]
xor al, byte [esp + 0x30]
mov byte [esp + 0x2b], al
cmp esi, 0xe
jb 0x10040a98
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x37]
add esp, 0xc
mov byte [esp + esi + 0x31], al
inc esi
cmp esi, 0xd
jb 0x10040a50
sub esp, 0x1c
mov byte [esp + 0x5a], 0
lea eax, [esp + 0x4d]
mov ecx, esp
push eax
call fcn.100075f0
push dword [esp + 0x48]
call fcn.10012db0
mov ecx, dword [esp + 0x7c]
add esp, 0x24
mov ecx, dword [ecx + 0x60]
call fcn.100196a0
movaps xmm0, xmmword [str.H_:__]
xor esi, esi
mov dword [esp + 0x28], esp
push dword [esp + 0x54]
mov dword [edi + 4], eax
movups xmmword [esp + 0x80], xmm0
nop word [eax + eax]
cmp esi, 0xf
jb 0x10040b0c
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
add esp, 0xc
mov al, byte [esp + esi + 0x81]
xor al, byte [esp + 0x80]
mov byte [esp + 0x2b], al
cmp esi, 0xf
jb 0x10040b3e
push 0x90
push str.C:Program_Files__x86_Microsoft_Visual_Studio_14.0VCinclude_array
push str.array_subscript_out_of_range
call fcn.1005ff50
mov al, byte [esp + 0x37]
add esp, 0xc
mov byte [esp + esi + 0x81], al
inc esi
cmp esi, 0xe
jb 0x10040af0
sub esp, 0x1c
mov byte [esp + 0xab], 0
lea eax, [esp + 0x9d]
mov ecx, esp
push eax
call fcn.100075f0
push dword [esp + 0x48]
call fcn.10012db0
mov esi, dword [esp + 0x7c]
add esp, 0x24
mov ecx, dword [esi + 0x60]
call fcn.100196a0
add esp, 0x1c
mov dword [edi + 8], eax
call fcn.10016240
test eax, eax
je 0x10040d7e
mov dword [edi], eax
call fcn.10019af0
mov ecx, eax
call dword [0x1012d87c]
test eax, eax
je 0x10040d7e
mov ecx, dword [edi]
mov dword [ecx], eax
mov eax, dword [edi]
mov edx, dword [esi]
mov esi, dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
mov dword [esp + 0x34], edx
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10040bf0
push 4
push eax
call esi
test eax, eax
jne 0x10040bf0
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10040bf0
push 4
push eax
call esi
test eax, eax
jne 0x10040bf0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x34]
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x8c]
call eax
mov eax, dword [edi]
mov ecx, dword [eax]
mov eax, dword [ecx]
mov eax, dword [eax + 0xcc]
mov dword [ecx + 0x13c], 0
mov dword [ecx + 0x140], 0
mov dword [ecx + 0x144], 0x3f340000
mov dword [ecx + 0x148], 0x3f340000
mov dword [ecx + 0x1f0], 0
mov dword [ecx + 0x1f4], 0
mov dword [ecx + 0x1f8], 0
mov dword [ecx + 0x1fc], 0
call eax
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10040c83
push 4
push eax
call esi
test eax, eax
jne 0x10040c83
mov eax, dword [esp + 0xc]
add eax, 0xb4
push 4
push eax
mov dword [esp + 0x14], eax
call esi
test eax, eax
jne 0x10040c83
mov eax, dword [esp + 0xc]
mov dword [eax], 0xb
mov eax, dword [edi]
mov eax, dword [eax]
mov dword [esp + 0xc], eax
test eax, eax
je 0x10040ca7
push 4
push eax
call esi
test eax, eax
jne 0x10040ca7
mov ecx, dword [esp + 0xc]
push pe_nt_image_headers32
call dword [0x1012d864]
mov esi, dword [edi + 8]
xorps xmm0, xmm0
movaps xmmword [esp + 0x40], xmm0
movaps xmmword [esp + 0x60], xmm0
test esi, esi
je 0x10040cfc
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10040cf7
mov eax, dword [esi + 0xc4]
mov dword [esp + 0x60], eax
mov eax, dword [esi + 0xc8]
mov dword [esp + 0x64], eax
mov eax, dword [esi + 0xcc]
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0xd0]
mov dword [esp + 0x6c], eax
movaps xmm0, xmmword [esp + 0x60]
jmp 0x10040cfc
movaps xmm0, xmmword [esp + 0x40]
mov eax, dword [edi]
movaps xmmword [esp + 0x70], xmm0
mov esi, dword [eax]
test esi, esi
je 0x10040d23
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10040d23
lea eax, [esp + 0x70]
mov ecx, esi
push eax
call dword [0x1012d888]
mov eax, dword [edi]
mov esi, dword [eax]
test esi, esi
je 0x10040d60
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10040d60
mov eax, dword [esp + 0x70]
mov dword [esi + 0xd4], eax
mov eax, dword [esp + 0x74]
mov dword [esi + 0xd8], eax
mov eax, dword [esp + 0x78]
mov dword [esi + 0xdc], eax
mov eax, dword [esp + 0x7c]
mov dword [esi + 0xe0], eax
mov eax, dword [edi]
mov esi, dword [eax]
test esi, esi
je 0x10040d7e
push 4
push esi
call dword [sym.imp.KERNEL32.dll_IsBadReadPtr]
test eax, eax
jne 0x10040d7e
push eax
mov ecx, esi
call dword [0x1012d850]
mov eax, dword [esp + 0x38]
add edi, 0xc
inc eax
sub dword [esp + 0x30], 1
mov dword [esp + 0x38], eax
jne 0x10040a20
mov ecx, dword [esp + 0x8c]
pop edi
pop esi
xor ecx, esp
call fcn.1006fa90
mov esp, ebp
pop ebp
ret