Function at 0x1008a240
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.10011fd0
add esp, 8
movzx ebx, byte [esp + 0x575]
cmp bl, 2
jne 0x1008a2bf
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 0x1008a527
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 0x1008a4c6
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 0x1008a39d
call fcn.10006bd0
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 0x1008a4c6
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 0x1008a46f
lea ecx, [esp + 0x294]
call fcn.10006bd0
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 0x1008a52f
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.10096fa0
lea eax, [esp + 0x294]
push eax
call fcn.10096eb0
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 0x1008a5ac
lea ecx, [esp + 0x294]
mov esi, edx
call fcn.10006bd0
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 0x1008a62c
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 0x1008a4e3
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 0x1008a6a0
lea ecx, [esp + 0x294]
mov edx, edi
call fcn.10006bd0
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.10013340
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 0x1008b112
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 0x1008b165
cmp edx, dword [esp + 0x2a4]
lea eax, [edx + 1]
mov ecx, edx
mov dword [esp + 0x48], edx
mov dword [esp + 0x5c], eax
jne 0x1008a797
mov edx, dword [esp + 0x48]
lea ecx, [esp + 0x2a0]
call fcn.1009a620
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 0x1008a7c6
push esi
push ebx
lea eax, [esp + 0x118]
push eax
call fcn.10018520
add esp, 0xc
mov edx, dword [esp + 0x3c8]
test esi, esi
mov dword [esp + 0x44], edi
je 0x1008aef7
mov edi, ebx
add esi, ebx
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x60], esi
jmp 0x1008a815
mov ecx, esi
inc edi
inc dword [esp + 0x50]
mov edx, ecx
mov esi, ecx
cmp edi, dword [esp + 0x60]
je 0x1008aef9
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 0x1008a851
mov eax, dword [esp + 0x29c]
cmp edx, eax
jae 0x1008b132
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 0x1008a86a
cmp byte [ebx + 2], 1
je 0x1008af43
test ch, ch
mov dword [esp + 0x14], ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x10], esi
je 0x1008a952
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 0x1008ac08
mov al, ch
add al, 0xbf
cmp al, 0x19
ja 0x1008aa50
mov al, ch
or al, 0x20
jmp 0x1008aa6b
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 0x1008aed4
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 0x1008b124
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 0x1008ac50
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
lea edx, [eax + ecx*8 + 4]
jmp 0x1008ac76
mov edi, dword [esp + 0x10]
add eax, 0xfffffffc
shl ecx, 3
nop word [eax + eax]
test ecx, ecx
je 0x1008ac81
movzx ebx, byte [esp + 0x18]
add ecx, 0xfffffff8
lea edx, [eax + 8]
cmp byte [eax + 4], bl
mov eax, edx
jne 0x1008ac60
mov ecx, dword [edx]
cmp ecx, 1
jne 0x1008a802
push dword [esp + 0x50]
lea eax, [esp + 0xf4]
push eax
lea eax, [esp + 0x3e0]
push eax
call fcn.10013c10
add esp, 0xc
mov edi, dword [esp + 0x3d8]
mov ecx, dword [esp + 0x3dc]
cmp edi, 3
jne 0x1008b0e3
mov eax, dword [esp + 0x29c]
cmp esi, eax
jae 0x1008b12b
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 0x1008ad30
xor edi, edi
mov eax, ecx
jmp 0x1008acf6
mov ecx, eax
sub eax, edi
jbe 0x1008ad32
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 0x1008acf0
movzx edx, dl
cmp edx, 0xff
jne 0x1008ad9e
inc eax
mov edi, eax
mov eax, ecx
sub eax, edi
ja 0x1008acf6
jmp 0x1008ad32
xor edi, edi
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0xc]
add ebx, dword [esp + 0x14]
cmp edx, dword [ebx + 4]
jne 0x1008ad50
mov ecx, ebx
call fcn.10006d10
mov esi, dword [ebx]
mov edx, dword [esp + 0xc]
mov eax, edx
sub eax, edi
jbe 0x1008ad80
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 0x1008ad8b
movzx ecx, byte [esp + 0x18]
jne 0x1008b156
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 0x1008adb0
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 0x1008a800
mov eax, dword [esp + 0x29c]
cmp edx, eax
jae 0x1008b139
mov eax, ecx
add al, 0xbf
cmp al, 0x1a
jae 0x1008adeb
or cl, 0x20
mov eax, ecx
mov dword [esp + 0x20], eax
jmp 0x1008ae02
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 0x1008ae71
xor edi, edi
mov eax, ecx
mov dword [esp + 0x18], esi
jmp 0x1008ae3a
mov ecx, eax
mov esi, dword [esp + 0x18]
sub eax, edi
jbe 0x1008ae73
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 0x1008ae30
movzx edx, dl
cmp edx, 0xff
jne 0x1008aedb
inc eax
mov edi, eax
mov eax, ecx
mov esi, dword [esp + 0x18]
sub eax, edi
ja 0x1008ae3a
jmp 0x1008ae73
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 0x1008ae93
mov ecx, ebx
call fcn.10006d10
mov ecx, dword [ebx]
mov edx, dword [esp + 0xc]
mov eax, edx
mov esi, edi
sub eax, edi
jbe 0x1008aeb7
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 0x1008aebf
mov edi, ecx
jne 0x1008b154
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 0x1008aeee
xor edx, edx
jmp 0x1008ab42
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 0x1008a802
mov esi, edx
mov eax, dword [esp + 0x29c]
cmp esi, eax
jae 0x1008b14d
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 0x1008af32
mov ecx, esi
call fcn.1009a620
mov edi, dword [esp + 0x44]
mov edx, dword [esi + 8]
jmp 0x1008af36
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 0x1008a717
lea eax, [esp + 0xf0]
push eax
call fcn.100134a0
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.10013630
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.10013990
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.100123b0
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.100137d0
add esp, 4
lea eax, [esp + 0xf0]
push eax
call fcn.10012ab0
add esp, 4
lea eax, [esp + 0xf0]
push eax
lea eax, [esp + 0x3dc]
push eax
call fcn.10017680
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.10017b70
add esp, 8
mov ecx, dword [esp + 0x2ac]
lea edi, [esp + 0x2ac]
test ecx, ecx
je 0x1008b01d
lock dec dword [ecx]
jne 0x1008b01d
mov edx, dword [esp + 0x2b0]
call fcn.10099980
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.10013d50
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.10096fa0
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 0x1008a527
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 0x1008a4e3
mov dword [esp + 0x18], 0
mov edi, 2
jmp 0x1008a4e1
mov ecx, 0x102484a0
jmp 0x1008b140
mov ecx, 0x102484b4
jmp 0x1008b140
mov ecx, 0x10248490
jmp 0x1008b13e
mov ecx, 0x102484c4
mov esi, edx
push ecx
push eax
push esi
call fcn.10026930
add esp, 0xc
jmp 0x1008b1bc
mov ecx, 0x10248480
jmp 0x1008b140
mov edi, esi
push dword [esp + 0xc]
push edi
call fcn.1001b9e0
add esp, 8
jmp 0x1008b1bc
mov dword [esp + str.expected_number_of_patterns_to_match_pattern_ID], 0x10248504
mov dword [esp + 0x3dc], 1
mov dword [esp + 0x3e0], 0x102481a0
mov dword [esp + 0x3e4], 0
mov dword [esp + 0x3e8], 0
lea eax, [esp + 0x6c]
lea edx, [esp + 0x68]
xor ecx, ecx
push 0x1024850c
lea esi, [esp + 0x3dc]
push esi
push eax
call fcn.10099520
add esp, 0xc
ud2