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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x990
mov esi, ecx
lea edi, [esp + 0x3d8]
push edx
push edi
call fcn.10012470
add esp, 8
movzx ebx, byte [esp + 0x575]
cmp bl, 2
jne 0x1009fecf
movsd xmm0, qword [esp + 0x3e8]
movsd xmm1, qword [esp + 0x3d8]
movsd xmm2, qword [esp + 0x3e0]
movsd qword [esp + 0x6d0], xmm0
movsd qword [esp + 0x6c8], xmm2
movsd qword [esp + 0x6c0], xmm1
movsd qword [esi + 0x18], xmm0
movsd qword [esi + 0x10], xmm2
movsd qword [esi + 8], xmm1
mov dword [esi], 1
jmp 0x100a0137
mov dword [esp + 0x4c], esi
lea esi, [esp + 0x6c0]
push 0x19d
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea ecx, [esp + 0x28e]
lea eax, [esp + 0x576]
push 0x14a
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0xf0]
push 0x19d
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x28d], bl
lea ecx, [esp + 0x294]
mov edx, dword [esp + 0x29c]
cmp edx, 0x7ffffffe
ja 0x100a00d6
cmp edx, dword [esp + 0x298]
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], 4
mov dword [esp + 0x3dc], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 4
mov dword [esp + 0x3e8], 0
mov dword [esp + 0x3ec], 0
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3f4], 0
jne 0x1009ffad
call fcn.10007070
mov edx, dword [esp + 0x29c]
mov eax, dword [esp + 0x294]
movsd xmm0, qword [esp + 0x3f0]
mov ecx, edx
inc edx
shl ecx, 5
cmp edx, 0x7ffffffe
movsd qword [eax + ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x3e8]
movsd qword [eax + ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x3d8]
movsd xmm1, qword [esp + 0x3e0]
movsd qword [eax + ecx + 8], xmm1
movsd qword [eax + ecx], xmm0
mov dword [esp + 0x29c], edx
ja 0x100a00d6
cmp edx, dword [esp + 0x298]
mov eax, dword [esp + 0x3c8]
mov dword [esp + 0x3d8], 4
mov dword [esp + 0x3dc], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 4
mov dword [esp + 0x3e8], 0
mov dword [esp + 0x3ec], 0
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3f4], 0
jne 0x100a007f
lea ecx, [esp + 0x294]
call fcn.10007070
mov edx, dword [esp + 0x29c]
mov eax, dword [esp + 0x294]
movsd xmm0, qword [esp + 0x3f0]
mov ecx, edx
inc edx
shl ecx, 5
cmp edx, 0x7ffffffe
movsd qword [eax + ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x3e8]
movsd qword [eax + ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x3d8]
movsd xmm1, qword [esp + 0x3e0]
movsd qword [eax + ecx + 8], xmm1
movsd qword [eax + ecx], xmm0
mov dword [esp + 0x29c], edx
jbe 0x100a013f
mov ebx, 0x7ffffffe
xor edi, edi
mov dword [esp + 0x20], 0
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], 0
mov esi, edx
lea ecx, [esp + 0x110]
call fcn.100acbb0
lea eax, [esp + 0x294]
push eax
call fcn.100acac0
add esp, 4
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x10], ebx
mov ebx, dword [esp + 0x20]
mov dword [eax + 0x14], ecx
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ebx
mov dword [eax + 8], edi
mov dword [eax + 0xc], esi
mov dword [eax], 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x3c8]
cmp edx, dword [esp + 0x298]
mov edi, edx
mov dword [esp + 0x3d8], 4
mov dword [esp + 0x3dc], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 4
mov dword [esp + 0x3e8], 0
mov dword [esp + 0x3ec], 0
mov dword [esp + 0x3f0], eax
mov dword [esp + 0x3f4], 0
jne 0x100a01bc
lea ecx, [esp + 0x294]
mov esi, edx
call fcn.10007070
mov edi, dword [esp + 0x29c]
mov edx, esi
mov eax, dword [esp + 0x294]
movsd xmm0, qword [esp + 0x3f0]
mov ecx, edi
inc edi
shl ecx, 5
cmp edi, 0x7ffffffe
movsd qword [eax + ecx + 0x18], xmm0
movsd xmm0, qword [esp + 0x3e8]
movsd qword [eax + ecx + 0x10], xmm0
movsd xmm0, qword [esp + 0x3d8]
movsd xmm1, qword [esp + 0x3e0]
movsd qword [eax + ecx + 8], xmm1
movsd qword [eax + ecx], xmm0
mov dword [esp + 0x29c], edi
mov dword [esp + 0x3c8], edx
jbe 0x100a023c
mov dword [esp + 0x20], 0
mov ebx, 0x7ffffffe
mov dword [esp + 0x18], 0
mov esi, edi
mov dword [esp + 0x10], edi
xor edi, edi
jmp 0x100a00f3
cmp edi, dword [esp + 0x298]
mov ecx, edi
mov dword [esp + 0x3d8], 4
mov dword [esp + 0x3dc], 0
mov dword [esp + 0x3e0], 0
mov dword [esp + 0x3e4], 4
mov dword [esp + 0x3e8], 0
mov dword [esp + 0x3ec], 0
mov dword [esp + 0x3f0], edx
mov dword [esp + 0x3f4], 0
jne 0x100a02b0
lea ecx, [esp + 0x294]
mov edx, edi
call fcn.10007070
mov ecx, dword [esp + 0x29c]
mov eax, dword [esp + 0x294]
movsd xmm0, qword [esp + 0x3f0]
mov edx, ecx
inc ecx
shl edx, 5
movsd qword [eax + edx + 0x18], xmm0
movsd xmm0, qword [esp + 0x3e8]
movsd qword [eax + edx + 0x10], xmm0
movsd xmm0, qword [esp + 0x3d8]
movsd xmm1, qword [esp + 0x3e0]
movsd qword [eax + edx + 8], xmm1
movsd qword [eax + edx], xmm0
mov dword [esp + 0x29c], ecx
mov dword [esp + 0x3cc], edi
lea eax, [esp + 0xf0]
push eax
call fcn.100137e0
add esp, 4
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
xor edx, edx
shl eax, 4
add eax, edi
mov dword [esp + 0x58], eax
mov ebx, dword [edi + 8]
mov dword [esp + 0x68], edx
cmp ebx, 0x7ffffffe
ja 0x100a0d22
mov ecx, dword [esp + 0x3b8]
mov eax, dword [esp + 0x2a8]
mov esi, ebx
cmp ecx, ebx
mov dword [esp + 0x6c], eax
cmovae ecx, ebx
mov dword [esp + 0x3b8], ecx
mov ecx, dword [esp + 0x3bc]
cmp ecx, ebx
cmovbe ecx, ebx
mov ebx, dword [edi]
cmp edx, eax
mov dword [esp + 0x3bc], ecx
jne 0x100a0d75
cmp edx, dword [esp + 0x2a4]
lea eax, [edx + 1]
mov ecx, edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x5c], eax
jne 0x100a03a7
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x2a0]
call fcn.100b0230
mov ecx, dword [esp + 0x2a8]
lea eax, [ecx + 1]
mov edx, dword [esp + 0x2a0]
mov dword [edx + ecx*4], esi
mov dword [esp + 0x2a8], eax
mov eax, dword [esp + 0x290]
cmp byte [eax], 0
je 0x100a03d6
push esi
push ebx
lea eax, [esp + 0x118]
push eax
call fcn.100189c0
add esp, 0xc
mov edx, dword [esp + 0x3c8]
test esi, esi
mov dword [esp + 0x44], edi
je 0x100a0b07
mov edi, ebx
add esi, ebx
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], esi
jmp 0x100a0425
mov ecx, esi
inc edi
inc dword [esp + 0x50]
mov edx, ecx
mov esi, ecx
cmp edi, dword [esp + 0x60]
je 0x100a0b09
mov ch, byte [edi]
mov esi, edi
test byte [esp + 0x54], 1
mov edi, dword [esp + 0x44]
mov al, 1
mov byte [esp + 0x18], ch
jne 0x100a0461
mov eax, dword [esp + 0x29c]
cmp edx, eax
jae 0x100a0d42
mov eax, dword [esp + 0x294]
mov ecx, edx
shl ecx, 5
cmp dword [eax + ecx + 0x14], 0
mov ch, byte [esp + 0x18]
setne al
mov ebx, dword [esp + 0x290]
test al, al
mov dword [esp + 0x54], eax
je 0x100a047a
cmp byte [ebx + 2], 1
je 0x100a0b53
test ch, ch
mov dword [esp + 0x14], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x10], esi
je 0x100a0562
mov al, ch
mov dword [esp + 0xec], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe0], 1
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd0], 0
dec al
mov cl, al
mov ah, al
and al, 7
and cl, 0x78
shr ah, 7
shr cl, 3
neg cl
movsx edx, cl
mov cl, al
mov ebx, dword [esp + edx + 0xe8]
mov dword [esp + 0xc], ebx
shl ebx, cl
not cl
mov edi, dword [esp + edx + 0xe4]
mov dword [esp + 0x20], edi
shr edi, 1
shr edi, cl
mov esi, dword [esp + edx + 0xec]
mov cl, al
mov edx, dword [esp + edx + 0xe0]
or edi, ebx
mov ebx, dword [esp + 0xc]
shld esi, ebx, cl
movzx ebx, ah
mov eax, dword [esp + 0x20]
shl ebx, 4
or dword [esp + ebx + 0xfc], esi
or dword [esp + ebx + 0xf8], edi
shld eax, edx, cl
shl edx, cl
or dword [esp + ebx + 0xf0], edx
or dword [esp + ebx + 0xf4], eax
mov cl, ch
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 1
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb0], 0
mov al, ch
and cl, 0x78
and al, 7
shr cl, 3
neg cl
movsx edx, cl
mov cl, al
mov ebx, dword [esp + edx + 0xc8]
mov dword [esp + 0x20], ebx
shl ebx, cl
not cl
mov edi, dword [esp + edx + 0xc4]
mov dword [esp + 0xc], edi
shr edi, 1
shr edi, cl
mov esi, dword [esp + edx + 0xcc]
mov cl, al
mov eax, dword [esp + 0xc]
or edi, ebx
mov ebx, dword [esp + edx + 0xc0]
mov edx, dword [esp + 0x20]
shld esi, edx, cl
movzx edx, ch
shld eax, ebx, cl
shl ebx, cl
mov dword [esp + 0x20], edx
shr edx, 3
and edx, 0xfffffff0
or dword [esp + edx + 0xf4], eax
mov eax, dword [esp + 0x14]
or dword [esp + edx + 0xfc], esi
or dword [esp + edx + 0xf0], ebx
or dword [esp + edx + 0xf8], edi
cmp byte [eax + 1], 0
je 0x100a0818
mov al, ch
add al, 0xbf
cmp al, 0x19
ja 0x100a0660
mov al, ch
or al, 0x20
jmp 0x100a067b
mov al, ch
mov cl, ch
add al, 0x9f
xor cl, 0x20
cmp al, 0x1a
movzx eax, cl
cmovae eax, dword [esp + 0x20]
test al, al
je 0x100a0ae4
mov edx, eax
mov dword [esp + 0x14], eax
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], 1
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x90], 0
dec dl
mov ecx, edx
mov ch, dl
and dl, 7
and cl, 0x78
shr ch, 7
shr cl, 3
neg cl
movsx ebx, cl
mov cl, dl
mov eax, dword [esp + ebx + 0xa8]
mov edi, dword [esp + ebx + 0xa4]
mov esi, eax
mov dword [esp + 0xc], edi
shr edi, 1
shl esi, cl
not cl
shr edi, cl
mov cl, dl
mov edx, dword [esp + 0x14]
or edi, esi
mov esi, dword [esp + ebx + 0xac]
mov ebx, dword [esp + ebx + 0xa0]
shld esi, eax, cl
movzx eax, ch
shl eax, 4
or dword [esp + eax + 0xfc], esi
mov esi, dword [esp + 0xc]
or dword [esp + eax + 0xf8], edi
shld esi, ebx, cl
shl ebx, cl
or dword [esp + eax + 0xf0], ebx
or dword [esp + eax + 0xf4], esi
mov eax, edx
mov dword [esp + 0x8c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x80], 1
mov dword [esp + 0x7c], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x70], 0
mov ch, dl
and dl, 7
and al, 0x78
mov cl, dl
shr ch, 7
shr al, 3
neg al
movsx ebx, al
mov eax, dword [esp + ebx + 0x88]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
shl eax, cl
not cl
mov esi, dword [esp + ebx + 0x84]
mov edi, esi
shr edi, 1
shr edi, cl
mov cl, dl
mov edx, dword [esp + 0xc]
or edi, eax
mov eax, dword [esp + ebx + 0x8c]
shld eax, edx, cl
mov edx, dword [esp + ebx + 0x80]
movzx ebx, ch
mov ecx, dword [esp + 0x14]
shl ebx, 4
or dword [esp + ebx + 0xfc], eax
or dword [esp + ebx + 0xf8], edi
shld esi, edx, cl
shl edx, cl
or dword [esp + ebx + 0xf0], edx
or dword [esp + ebx + 0xf4], esi
mov eax, dword [esp + 0x29c]
mov esi, dword [esp + 0x40]
cmp esi, eax
jae 0x100a0d34
mov ecx, dword [esp + 0x294]
mov edx, esi
shl edx, 5
mov dword [esp + 0x14], edx
mov eax, dword [ecx + edx]
mov ecx, dword [ecx + edx + 8]
cmp ecx, 0x100
jne 0x100a0860
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
lea edx, [eax + ecx*8 + 4]
jmp 0x100a0886
mov edi, dword [esp + 0x10]
add eax, 0xfffffffc
shl ecx, 3
nop word [eax + eax]
test ecx, ecx
je 0x100a0891
movzx ebx, byte [esp + 0x18]
add ecx, 0xfffffff8
lea edx, [eax + 8]
cmp byte [eax + 4], bl
mov eax, edx
jne 0x100a0870
mov ecx, dword [edx]
cmp ecx, 1
jne 0x100a0412
push dword [esp + 0x50]
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0x3e0]
push eax
call fcn.100140b0
add esp, 0xc
mov edi, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3dc]
cmp edi, 3
jne 0x100a0cf3
mov eax, dword [esp + 0x29c]
cmp esi, eax
jae 0x100a0d3b
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x294]
mov eax, dword [esp + 0x14]
mov esi, dword [ecx + eax]
mov dword [esp + 0x64], ecx
mov ecx, dword [ecx + eax + 8]
test ecx, ecx
mov dword [esp + 0xc], ecx
je 0x100a0940
xor edi, edi
mov eax, ecx
jmp 0x100a0906
mov ecx, eax
sub eax, edi
jbe 0x100a0942
movzx ebx, byte [esp + 0x18]
shr eax, 1
xor edx, edx
add eax, edi
cmp byte [esi + eax*8], bl
mov ebx, 0xff
setne dl
cmovb edx, ebx
cmp dl, 1
je 0x100a0900
movzx edx, dl
cmp edx, 0xff
jne 0x100a09ae
inc eax
mov edi, eax
mov eax, ecx
sub eax, edi
ja 0x100a0906
jmp 0x100a0942
xor edi, edi
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0xc]
add ebx, dword [esp + 0x14]
cmp edx, dword [ebx + 4]
jne 0x100a0960
mov ecx, ebx
call fcn.100071b0
mov esi, dword [ebx]
mov edx, dword [esp + 0xc]
mov eax, edx
sub eax, edi
jbe 0x100a0990
lea ecx, [esi + edi*8]
shl eax, 3
push eax
push ecx
add ecx, 8
push ecx
call sub.msvcrt.dll_memmove
mov edx, dword [esp + 0x18]
add esp, 0xc
movzx ecx, byte [esp + 0x18]
jmp 0x100a099b
movzx ecx, byte [esp + 0x18]
jne 0x100a0d66
mov eax, dword [esp + 0x3c]
mov byte [esi + edi*8], cl
inc edx
mov dword [esi + edi*8 + 4], eax
mov esi, eax
mov dword [ebx + 8], edx
jmp 0x100a09c0
movzx ecx, byte [esp + 0x18]
mov edx, dword [esp + 0x3c]
mov byte [esi + eax*8], cl
mov dword [esi + eax*8 + 4], edx
mov esi, edx
mov eax, dword [esp + 0x290]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
cmp byte [eax + 1], 0
je 0x100a0410
mov eax, dword [esp + 0x29c]
cmp edx, eax
jae 0x100a0d49
mov eax, ecx
add al, 0xbf
cmp al, 0x1a
jae 0x100a09fb
or cl, 0x20
mov eax, ecx
mov dword [esp + 0x20], eax
jmp 0x100a0a12
mov edx, dword [esp + 0x20]
mov eax, ecx
xor cl, 0x20
add al, 0x9f
movzx ecx, cl
cmp al, 0x1a
cmovb edx, ecx
mov dword [esp + 0x20], edx
mov ecx, dword [esp + 0x294]
mov eax, dword [esp + 0x14]
mov esi, dword [ecx + eax]
mov dword [esp + 0x40], ecx
mov ecx, dword [ecx + eax + 8]
test ecx, ecx
mov dword [esp + 0xc], ecx
je 0x100a0a81
xor edi, edi
mov eax, ecx
mov dword [esp + 0x18], esi
jmp 0x100a0a4a
mov ecx, eax
mov esi, dword [esp + 0x18]
sub eax, edi
jbe 0x100a0a83
mov ebx, dword [esp + 0x20]
shr eax, 1
xor edx, edx
add eax, edi
cmp byte [esi + eax*8], bl
mov esi, 0xff
setne dl
cmovb edx, esi
cmp dl, 1
je 0x100a0a40
movzx edx, dl
cmp edx, 0xff
jne 0x100a0aeb
inc eax
mov edi, eax
mov eax, ecx
mov esi, dword [esp + 0x18]
sub eax, edi
ja 0x100a0a4a
jmp 0x100a0a83
xor edi, edi
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0xc]
mov ecx, esi
add ebx, dword [esp + 0x14]
cmp edx, dword [ebx + 4]
jne 0x100a0aa3
mov ecx, ebx
call fcn.100071b0
mov ecx, dword [ebx]
mov edx, dword [esp + 0xc]
mov eax, edx
mov esi, edi
sub eax, edi
jbe 0x100a0ac7
mov edi, ecx
lea ecx, [ecx + esi*8]
shl eax, 3
push eax
push ecx
add ecx, 8
push ecx
call sub.msvcrt.dll_memmove
mov edx, dword [esp + 0x18]
add esp, 0xc
jmp 0x100a0acf
mov edi, ecx
jne 0x100a0d64
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x3c]
inc edx
mov byte [edi + esi*8], al
mov dword [edi + esi*8 + 4], ecx
mov dword [ebx + 8], edx
jmp 0x100a0afe
xor edx, edx
jmp 0x100a0752
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
mov byte [edi + eax*8], cl
mov ecx, dword [esp + 0x3c]
mov dword [edi + eax*8 + 4], ecx
mov edi, dword [esp + 0x10]
jmp 0x100a0412
mov esi, edx
mov eax, dword [esp + 0x29c]
cmp esi, eax
jae 0x100a0d5d
mov eax, dword [esp + 0x294]
shl esi, 5
mov ecx, esi
mov edx, dword [eax + ecx + 0x14]
lea esi, [eax + esi + 0xc]
cmp edx, dword [eax + ecx + 0x10]
jne 0x100a0b42
mov ecx, esi
call fcn.100b0230
mov edi, dword [esp + 0x44]
mov edx, dword [esi + 8]
jmp 0x100a0b46
mov edi, dword [esp + 0x44]
mov eax, dword [esi]
mov ecx, dword [esp + 0x48]
mov dword [eax + edx*4], ecx
inc edx
mov dword [esi + 8], edx
add edi, 0x10
mov edx, dword [esp + 0x5c]
cmp edi, dword [esp + 0x58]
jne 0x100a0327
lea eax, [esp + 0xf0]
push eax
call fcn.10013940
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.10013ad0
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.10013e30
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.10012850
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.10013c70
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.10012f50
add esp, 4
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x3dc]
push eax
call fcn.10017b20
add esp, 8
lea eax, [esp + 0x2b8]
push 0x100
lea esi, [esp + 0x3dc]
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x110]
push eax
push esi
call fcn.10018010
add esp, 8
mov ecx, dword [esp + 0x2ac]
lea edi, [esp + 0x2ac]
test ecx, ecx
je 0x100a0c2d
lock dec dword [ecx]
jne 0x100a0c2d
mov edx, dword [esp + 0x2b0]
call fcn.100af590
mov eax, dword [esp + 0x3e0]
movsd xmm0, qword [esp + 0x3d8]
mov dword [edi + 8], eax
movsd qword [edi], xmm0
lea eax, [esp + 0xf0]
push eax
call fcn.100141f0
add esp, 4
xor eax, eax
cmp dword [esp + 0x2ac], 0
setne al
mov eax, dword [esp + eax*8 + 0x3c4]
mov dword [esp + 0x3c0], eax
lea eax, [esp + 0x2b0]
mov edi, dword [esp + 0x29c]
lea esi, [esp + 0x860]
push 0x128
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x294]
movups xmm1, xmmword [esp + 0x2a0]
movsd qword [esp + 0x18], xmm0
movaps xmmword [esp + 0x20], xmm1
lea ecx, [esp + 0x110]
call fcn.100acbb0
mov ebx, dword [esp + 0x4c]
movaps xmm0, xmmword [esp + 0x20]
movsd xmm1, qword [esp + 0x18]
movups xmmword [ebx + 0x10], xmm0
movsd qword [ebx + 4], xmm1
mov dword [ebx + 0xc], edi
lea eax, [ebx + 0x20]
push 0x128
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [ebx], 0
jmp 0x100a0137
mov esi, ecx
mov eax, dword [esp + 0x3e4]
mov edx, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3e8]
mov ebx, dword [esp + 0x3e0]
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], ecx
jmp 0x100a00f3
mov dword [esp + 0x18], 0
mov edi, 2
jmp 0x100a00f1
mov ecx, 0x10336270
jmp 0x100a0d50
mov ecx, 0x10336284
jmp 0x100a0d50
mov ecx, 0x10336260
jmp 0x100a0d4e
mov ecx, 0x10336294
mov esi, edx
push ecx
push eax
push esi
call fcn.100273d0
add esp, 0xc
jmp 0x100a0dcc
mov ecx, 0x10336250
jmp 0x100a0d50
mov edi, esi
push dword [esp + 0xc]
push edi
call fcn.1001bf20
add esp, 8
jmp 0x100a0dcc
mov dword [esp + str.expected_number_of_patterns_to_match_pattern_ID], 0x103362d4
mov dword [esp + 0x3dc], 1
mov dword [esp + 0x3e0], 0x10335f70
mov dword [esp + 0x3e4], 0
mov dword [esp + 0x3e8], 0
lea eax, [esp + 0x6c]
lea edx, [esp + 0x68]
xor ecx, ecx
push 0x103362dc
lea esi, [esp + 0x3dc]
push esi
push eax
call fcn.100af130
add esp, 0xc
ud2