Function at 0x1007e210
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x190
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1007e247
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1007ecb5
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 0xa
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ecb5
mov word [eax + 8], 0x6c6c
mov dword [eax + 4], 0x65687372
mov dword [eax], 0x65776f70
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0xa
mov dword [esp + 0x48], 0xa
mov byte [esp + 0x4c], 0
mov dword [esp + 0x70], 4
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov word [esp + 0x5c], 0
mov byte [esp + 0x6c], 2
mov dword [esp + 0x7c], 0
mov word [esp + 0x80], 0
mov dword [esp + 0x28], 5
mov dword [esp + 0x30], 5
mov dword [esp + 0x38], 5
lea esi, [esp + 0x28]
push 8
push 0x102467e6
push esi
call fcn.1015c230
add esp, 0xc
push 0x29
push 0x102467ee
push esi
call fcn.1015c230
add esp, 0xc
lea edi, [esp + 0x138]
push esi
push edi
call fcn.101508c0
add esp, 8
cmp dword [esp + 0x138], 0
je 0x1007ecc3
mov eax, dword [esp + 0x150]
movq xmm0, qword [esp + 0x148]
movsd xmm2, qword [esp + 0x138]
movsd xmm1, qword [esp + 0x140]
mov dword [esp + 0xe0], eax
movq qword [esp + 0xd8], xmm0
movsd qword [esp + 0xd0], xmm1
movsd qword [esp + 0xc8], xmm2
lea esi, [esp + 0x28]
mov ecx, esi
call fcn.1007bb70
mov eax, dword [ebp + 8]
cmp dword [esp + 0xe0], 0
je 0x1007e3e0
mov esi, eax
mov dword [eax], 4
mov dword [eax + 4], 0
mov dword [eax + 8], 0
cmp dword [esp + 0xcc], 0
je 0x1007e3b7
push dword [esp + 0xc8]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0xd8], 0
je 0x1007e3d6
push dword [esp + 0xd4]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0xd0]
push dword [esp + 0xcc]
push esi
call fcn.1002a2f0
add esp, 0xc
cmp dword [esp + 0x28], 0
jne 0x1007ecf8
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
call fcn.1007c100
mov edi, edx
push 4
push str._r_n_r_n
push edx
push eax
push esi
call fcn.1002a920
add esp, 0x14
movsd xmm1, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
movq xmm0, qword [esp + 0x60]
movsd qword [esp + 0x168], xmm1
movsd xmm1, qword [esp + 0x48]
movsd qword [esp + 0x160], xmm2
movsd xmm2, qword [esp + 0x40]
movq qword [esp + 0x170], xmm0
movsd qword [esp + 0x158], xmm1
movsd xmm1, qword [esp + 0x38]
movsd qword [esp + 0x150], xmm2
movsd xmm2, qword [esp + 0x28]
movsd qword [esp + 0x148], xmm1
movsd xmm1, qword [esp + 0x30]
movsd qword [esp + 0x138], xmm2
movsd qword [esp + 0x140], xmm1
mov dword [esp + 0x178], 0
mov dword [esp + 0x17c], edi
mov word [esp + 0x180], 1
lea ecx, [esp + 0x28]
lea edx, [esp + 0x138]
call fcn.1007b750
mov edi, dword [esp + 0x28]
test edi, edi
je 0x1007e658
movq xmm0, qword [esp + 0x2c]
mov eax, dword [0x103564a0]
movdqa xmmword [esp + 0x90], xmm0
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1007e50a
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1007ed23
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push 0x30
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ed23
movdqa xmm0, xmmword [esp + 0x90]
mov dword [eax], edi
mov dword [esp + 8], eax
lea edi, [esp + 0x28]
lea esi, [esp + 0x138]
mov ecx, 0x14
mov ebx, 0x10
movq qword [eax + 4], xmm0
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 1
rep movsd dword es:[edi], dword [esi]
mov esi, 1
jmp 0x1007e58e
mov eax, dword [esp + 8]
movdqa xmm0, xmmword [esp + 0x90]
inc esi
mov dword [eax + ebx - 4], edi
movq qword [eax + ebx], xmm0
mov dword [esp + 0x14], esi
add ebx, 0xc
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x28]
call fcn.1007b750
mov edi, dword [esp + 0xe8]
test edi, edi
je 0x1007e5d5
movsd xmm0, qword [esp + 0xec]
cmp esi, dword [esp + 0x10]
movaps xmmword [esp + 0x90], xmm0
jne 0x1007e570
lea ecx, [esp + 0xc]
mov edx, esi
call fcn.1007c8b0
mov eax, dword [esp + 0xc]
mov dword [esp + 8], eax
jmp 0x1007e570
mov esi, dword [esp + 0x14]
movq xmm0, qword [esp + 0xc]
test esi, esi
movq qword [esp + 0xa0], xmm0
mov dword [esp + 0xa8], esi
je 0x1007e679
xor ebx, ebx
cmp esi, 0x2492493
setb al
jae 0x1007ed31
mov bl, al
imul edi, esi, 0x38
shl ebx, 2
test edi, edi
js 0x1007ed31
je 0x1007ec04
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1007e646
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1007ec0e
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
jne 0x1007e680
jmp 0x1007ec0e
mov dword [esp + 0xa0], 4
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov eax, 4
xor esi, esi
mov ecx, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x8c], eax
lea eax, [esi + esi*2]
test esi, esi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], 0
lea eax, [ecx + eax*4]
mov edi, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0xb8], edx
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], eax
mov dword [esp + 0x18], eax
je 0x1007eb79
mov eax, dword [esp + 0x84]
xor esi, esi
jmp 0x1007e704
mov eax, dword [esp + 0xc4]
cmp eax, dword [esp + 0x88]
je 0x1007ebbe
lea edi, [eax + 0xc]
mov dword [esp + 0x14], edi
mov ecx, dword [eax]
test ecx, ecx
mov dword [esp + 0x90], ecx
je 0x1007eb79
mov ebx, dword [eax + 8]
mov dword [esp + 0xc4], edi
mov edi, dword [eax + 4]
test ebx, ebx
je 0x1007ec1d
mov eax, dword [esp + 0x90]
mov dword [esp + 0xc0], esi
mov dword [esp + 4], edi
mov esi, dword [eax + 4]
push 1
push 0x1024686c
push esi
push dword [eax]
lea eax, [esp + 0xf8]
push eax
call fcn.1002a920
add esp, 0x14
movsd xmm1, qword [esp + 0x118]
movsd xmm2, qword [esp + 0x110]
movq xmm0, qword [esp + 0x120]
xor edi, edi
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [esp + 0x108]
movsd qword [esp + 0x50], xmm2
movsd xmm2, qword [esp + 0x100]
movq qword [esp + 0x60], xmm0
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0xf8]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x30], xmm1
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], esi
mov word [esp + 0x70], 1
nop dword [eax]
lea ecx, [esp + 0x28]
call fcn.1007cb00
test eax, eax
je 0x1007e810
mov esi, edx
mov edi, eax
jmp 0x1007e7f0
test edi, edi
je 0x1007ec44
mov ecx, edi
mov edx, esi
call fcn.1007c100
cmp ebx, 1
mov dword [esp + 8], eax
jbe 0x1007ec26
mov eax, dword [esp + 0x90]
mov esi, edx
mov edi, dword [eax + 0xc]
push 1
push 0x1024686c
push edi
push dword [eax + 8]
lea eax, [esp + 0xf8]
push eax
call fcn.1002a920
add esp, 0x14
movsd xmm1, qword [esp + 0x118]
movsd xmm2, qword [esp + 0x110]
movq xmm0, qword [esp + 0x120]
xor ebx, ebx
movsd qword [esp + 0x58], xmm1
movsd xmm1, qword [esp + 0x108]
movsd qword [esp + 0x50], xmm2
movsd xmm2, qword [esp + 0x100]
movq qword [esp + 0x60], xmm0
movsd qword [esp + 0x48], xmm1
movsd xmm1, qword [esp + 0xf8]
movsd qword [esp + 0x40], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x38], xmm1
movsd xmm1, qword [esp + 0xf0]
movsd qword [esp + 0x28], xmm2
movsd qword [esp + 0x30], xmm1
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], edi
mov word [esp + 0x70], 1
nop word cs:[eax + eax]
nop dword [eax]
lea ecx, [esp + 0x28]
call fcn.1007cb00
test eax, eax
je 0x1007e910
mov edi, edx
mov ebx, eax
jmp 0x1007e8f0
test ebx, ebx
je 0x1007ec4b
mov ecx, ebx
mov edx, edi
call fcn.1007c100
mov edi, edx
test esi, esi
mov dword [esp + 0xbc], eax
je 0x1007e9e0
js 0x1007ec9d
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1007e960
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1007ec89
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x1007ec89
mov ebx, eax
push esi
push dword [esp + 0xc]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x103564a0]
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], esi
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1007e9be
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1007ec79
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push esi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x1007ea06
jmp 0x1007ec79
mov ebx, 1
mov dword [esp + 0xac], 1
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
push esi
push dword [esp + 0xc]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
test edi, edi
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], esi
mov dword [esp + 0x134], esi
je 0x1007ea70
js 0x1007ecab
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
mov eax, dword [0x1035648c]
mov eax, dword [eax]
test eax, eax
jne 0x1007ea5b
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
je 0x1007ec69
mov ecx, dword [0x1035648c]
mov dword [ecx], eax
push edi
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
mov esi, eax
test eax, eax
jne 0x1007ea75
jmp 0x1007ec69
mov esi, 1
push edi
push dword [esp + 0xc0]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], edi
mov dword [esp + 0xf0], edi
push 0x102468a0
push 0x10246654
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x138]
push eax
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.1007d6a0
add esp, 0x18
mov esi, dword [esp + 0xc0]
mov edi, dword [esp + 4]
mov ecx, dword [esp + 0x8c]
cmp esi, dword [esp + 0x20]
jne 0x1007eaf5
lea ecx, [esp + 0x1c]
mov edx, esi
call fcn.1007c810
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x58]
imul eax, esi, 0x38
inc esi
test edi, edi
mov dword [esp + 0x8c], ecx
movsd qword [ecx + eax + 0x30], xmm0
movsd xmm0, qword [esp + 0x50]
movsd qword [ecx + eax + 0x28], xmm0
movsd xmm0, qword [esp + 0x48]
movsd qword [ecx + eax + 0x20], xmm0
movsd xmm0, qword [esp + 0x40]
movsd qword [ecx + eax + 0x18], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [ecx + eax + 0x10], xmm0
movq xmm0, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x30]
movsd qword [ecx + eax + 8], xmm1
movq qword [ecx + eax], xmm0
mov dword [esp + 0x24], esi
je 0x1007e6f0
push dword [esp + 0x90]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1007e6f0
mov ebx, dword [esp + 0x88]
mov ecx, 0xaaaaaaab
mov eax, ebx
sub eax, edi
mul ecx
cmp ebx, edi
je 0x1007ebbe
mov esi, edx
add edi, 4
shr esi, 3
jmp 0x1007eba6
add edi, 0xc
dec esi
je 0x1007ebbe
cmp dword [edi], 0
je 0x1007eba0
push dword [edi - 4]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x1007eba0
cmp dword [esp + 0xb8], 0
je 0x1007ebdd
push dword [esp + 0x84]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x24]
mov esi, dword [ebp + 8]
movq xmm0, qword [esp + 0x1c]
mov dword [esi + 8], eax
movq qword [esi], xmm0
cmp dword [esp + 0xcc], 0
jne 0x1007e3a2
jmp 0x1007e3b7
mov eax, ebx
test eax, eax
jne 0x1007e680
push edi
push ebx
call fcn.1001a7e0
add esp, 8
jmp 0x1007ed36
mov ecx, 0x1024685c
xor eax, eax
jmp 0x1007ec34
mov edi, dword [esp + 4]
mov ecx, 0x10246880
mov eax, 1
push ecx
push eax
push eax
call fcn.10026930
add esp, 0xc
jmp 0x1007ed36
mov eax, 0x10246870
jmp 0x1007ec50
mov eax, 0x10246890
push eax
push 0x2b
push 0x10246730
mov edi, dword [esp + 0x10]
call fcn.10026890
add esp, 0xc
jmp 0x1007ed36
push edi
push 1
call fcn.1001a7e0
add esp, 8
jmp 0x1007ed36
push esi
push 1
call fcn.1001a7e0
add esp, 8
jmp 0x1007ed36
push esi
push 1
mov edi, dword [esp + 0xc]
call fcn.1001a7e0
add esp, 8
jmp 0x1007ed36
mov edi, dword [esp + 4]
call fcn.1001a7a0
jmp 0x1007ed36
call fcn.1001a7a0
jmp 0x1007ed36
push 0xa
push 1
call fcn.1001a7e0
add esp, 8
ud2
movq xmm0, qword [esp + 0x13c]
movq qword [esp + 0xe8], xmm0
lea edi, [esp + 0xe8]
push 0x10246838
push 0x10246710
push edi
push 0x2b
push 0x102466e4
call fcn.10026bb0
add esp, 0x14
jmp 0x1007ed36
movq xmm0, qword [esp + 0x2c]
movq qword [esp + 0x138], xmm0
push 0x10246848
push 0x10246720
push edi
push 0x2b
push 0x102466e4
call fcn.10026bb0
add esp, 0x14
jmp 0x1007ed36
push 0x30
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x1007ed36
call fcn.1001a7a0
ud2