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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
mov eax, 0x30c0
call fcn.101c4c20
mov eax, dword [ebp + 0xc]
call 0x100b1ceb
pop ecx
mov esi, dword [eax]
mov eax, dword [esi + 0x54]
mov dword [esp + 0x20], esi
test byte [eax + 0x1e], 1
jne 0x100b2056
cmp byte [esi + 0x38], 3
mov dword [esp + 0x10], ecx
lea eax, [esi + 0x30]
mov ecx, 0x10249a78
cmovne ecx, eax
xor eax, eax
cmp byte [ecx + 8], 2
cmovne eax, ecx
jne 0x100b1e3d
cmp byte [esi + 0x40], 0
je 0x100b2056
movzx eax, byte [esi + 0x3e]
movaps xmm0, xmmword [0x10247fd0]
cmp dword [ebp + 0x14], 0
mov dword [esp + 0x1a20], 4
mov dword [esp + 0x1a24], 0
mov dword [esp + 0x1a28], 0
movups xmmword [esp + 0xcd0], xmm0
mov byte [esp + 0x4c], al
mov byte [esp + 0xce0], 0
je 0x100b1e60
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
lea edx, [esp + 0x1a20]
lea edi, [esp + 0x638]
mov dword [esp + 0x18], edx
lea ecx, [eax + ecx*4]
mov ebx, eax
mov dword [esp + 0x30], ecx
jmp 0x100b1daa
cmp ebx, dword [esp + 0x30]
je 0x100b1e60
push dword [ebx]
lea eax, [esp + 0xcd4]
push eax
push edi
call fcn.100f98b0
add esp, 0xc
lea ecx, [esp + 0x1a20]
mov edx, edi
call fcn.10091570
mov esi, dword [esp + 0x638]
add ebx, 4
test esi, esi
je 0x100b1da0
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x640]
test ebx, ebx
je 0x100b1e10
lea edi, [esi + 4]
jmp 0x100b1df6
add edi, 0x10
dec ebx
je 0x100b1e10
cmp dword [edi], 0
je 0x100b1df0
push dword [edi - 4]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b1df0
cmp dword [esp + 0x63c], 0
mov ebx, dword [esp + 0xc]
lea edi, [esp + 0x638]
je 0x100b1da0
push esi
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b1da0
mov ecx, dword [eax]
lock inc dword [ecx]
jle 0x100b6832
mov edx, dword [eax + 4]
movzx eax, byte [eax + 8]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
mov byte [esp + 0x68], al
jmp 0x100b205b
cmp byte [esp + 0x4c], 0
je 0x100b1ed9
lea eax, [esp + 0x1a20]
push 1
push eax
call fcn.100fc260
add esp, 8
movsd xmm0, qword [esp + 0x1a20]
mov eax, dword [esp + 0x1a28]
movsd qword [esp + 0x27e8], xmm0
mov dword [esp + 0x27f0], eax
mov edi, dword [esp + 0x27e8]
test edi, edi
je 0x100b1fe1
mov ecx, dword [esp + 0x20]
mov edx, eax
mov esi, edi
shl edx, 4
movzx ecx, byte [ecx + 0x3e]
nop word [eax + eax]
test edx, edx
je 0x100b1fc4
add edx, 0xfffffff0
cmp byte [esi + 0xc], 0
lea esi, [esi + 0x10]
jne 0x100b1ec0
jmp 0x100b1fe1
mov ecx, dword [esp + 0x1a20]
test ecx, ecx
je 0x100b1e79
mov esi, dword [esp + 0x1a28]
mov edx, esi
mov dword [esp + 0x18], ecx
call fcn.10099ad0
mov edx, dword [esp + 0x18]
mov ecx, esi
cmp esi, 2
jb 0x100b1e79
lea ebx, [edx + 0x1c]
dec ecx
mov esi, 1
jmp 0x100b1f38
mov esi, dword [esp + 0xc]
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
mov eax, esi
inc esi
shl eax, 4
movsd qword [edx + eax + 8], xmm1
movsd qword [edx + eax], xmm0
add ebx, 0x10
dec ecx
je 0x100b1fb8
mov eax, dword [ebx - 4]
mov dword [esp + 0xc], esi
dec esi
lea edi, [ebx - 0xc]
shl esi, 4
cmp eax, dword [edx + esi + 8]
jne 0x100b1f10
mov dword [esp + 0x30], ecx
lea ecx, [edx + esi]
mov edx, dword [edi]
push eax
push dword [ecx]
mov dword [esp + 0x34], edx
push edx
call sub.msvcrt.dll_memcmp
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x24]
add esp, 0xc
test eax, eax
jne 0x100b1f10
cmp byte [ebx], 0
mov edi, dword [esp + 0x2c]
setne al
cmp byte [edx + esi + 0xc], 0
setne cl
cmp al, cl
je 0x100b1f91
lea eax, [edx + esi + 0xc]
mov byte [ebx], 0
mov byte [eax], 0
cmp dword [ebx - 8], 0
je 0x100b1faa
push edi
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
mov esi, dword [esp + 0xc]
add ebx, 0x10
dec ecx
jne 0x100b1f38
mov dword [esp + 0x1a28], esi
jmp 0x100b1e79
mov edx, dword [esp + 0x20]
cmp dword [edx + 0x50], 1
jne 0x100b1fe1
mov edx, dword [esp + 0x20]
mov edx, dword [edx + 0x48]
mov edx, dword [edx]
cmp dword [edx + 0x18], 0
je 0x100b361b
mov esi, dword [esp + 0x20]
cmp dword [ebp + 0x14], 1
jne 0x100b200b
cmp dword [esi + 0x50], 0
je 0x100b5a73
mov eax, dword [esi + 0x48]
mov eax, dword [eax]
cmp word [eax + 0x1c], 0
jne 0x100b200b
cmp dword [eax + 0x18], 0
je 0x100b33fe
mov edi, dword [esp + 0x27e8]
test edi, edi
je 0x100b2056
xor edx, edx
cmp byte [esp + 0x4c], 0
mov ebx, dword [esp + 0x27f0]
setne dl
lea esi, [esp + 0x638]
mov ecx, esi
push ebx
push edi
call fcn.100dae30
add esp, 8
cmp byte [esp + 0x638], 7
mov dword [esp + 0xc], edi
jne 0x100b27ea
mov byte [esp + 0x68], 2
jmp 0x100b280e
mov byte [esp + 0x68], 2
lock inc dword [esi]
jle 0x100b6832
mov bh, byte [esp + 0x68]
cmp bh, 2
jne 0x100b2074
mov byte [esp + 0x78], 2
jmp 0x100b2091
mov edi, dword [esp + 0x60]
lock inc dword [edi]
jle 0x100b6832
mov eax, dword [esp + 0x64]
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], eax
mov byte [esp + 0x78], bh
mov dword [esp + 0x80], esi
mov ecx, 0xa
mov dword [esp + 0xc], 0xa00000
cmp byte [esi + 0x3c], 0
movzx eax, byte [esi + 0x3d]
cmovne ecx, eax
cmp byte [esi + 0x3f], 0
mov eax, esi
mov esi, dword [esi + 0x10]
mov dword [esp + 0x30], ecx
setne byte [esp + 0x10]
cmp esi, 2
je 0x100b20ce
mov ecx, dword [eax + 0x14]
mov dword [esp + 0xc], ecx
mov bl, byte [eax + 0x46]
lea eax, [esp + 0x638]
push eax
call fcn.100c8bf0
add esp, 4
xor ecx, ecx
cmp bl, 3
movzx eax, bl
cmove eax, ecx
xor ecx, ecx
test esi, esi
setne cl
mov dword [esp + 0x18], ecx
mov dword [esp + 0x638], ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x63c], ecx
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x640], 1
mov byte [esp + 0x641], cl
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x642], cl
mov byte [esp + 0x644], 0
mov byte [esp + 0x645], al
lea edx, [esp + 0x638]
lea ecx, [esp + 0x1a20]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.100c8ea0
add esp, 8
cmp dword [esp + 0x1a20], 0x27
jne 0x100b22d6
mov eax, dword [esp + 0x1a24]
mov dword [esp + 0x6c], eax
lea esi, [esp + 0x638]
mov ecx, esi
call fcn.10097ef0
cmp bh, 2
je 0x100b218c
lock inc dword [edi]
jle 0x100b6832
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x20]
cmp byte [ecx + 0x3e], 0
mov dword [esp + 0x220], edi
mov dword [esp + 0x224], eax
mov byte [esp + 0x228], bh
mov byte [esp + 0x2064], 2
mov byte [esp + 0x2060], 3
setne bl
setne byte [esp + 0x22c]
lea edi, [esp + 0x1a20]
push edi
call fcn.100c8bf0
add esp, 4
movsd xmm0, qword [esp + 0x2058]
movsd xmm1, qword [esp + 0x2060]
movsd qword [esp + 0x730], xmm1
movsd qword [esp + 0x728], xmm0
push 0xf0
push edi
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x730]
mov esi, dword [esp + 0x220]
mov edi, dword [esp + 0x224]
cmp al, 3
je 0x100b223d
cmp al, 2
je 0x100b223d
mov ecx, dword [esp + 0x728]
lock dec dword [ecx]
jne 0x100b223d
mov edx, dword [esp + 0x72c]
call fcn.10099a10
movzx eax, word [esp + 0x1a20]
mov dword [esp + 0x728], esi
mov dword [esp + 0x72c], edi
mov byte [esp + 0x730], bh
mov word [esp + 0x731], ax
movzx eax, byte [esp + 0x1a22]
mov byte [esp + 0x733], al
movzx eax, word [esp + 0x2058]
mov byte [esp + 0x734], bl
mov word [esp + 0x735], ax
movzx eax, byte [esp + 0x205a]
mov byte [esp + 0x737], al
mov eax, dword [esp + 0x6c]
lock inc dword [eax]
jle 0x100b6832
cmp bh, 2
jne 0x100b23a6
mov dword [esp + 0x1a20], eax
mov dword [esp + 0x1a24], esi
mov dword [esp + 0x1a28], edi
mov byte [esp + 0x1a2c], 2
mov byte [esp + 0x1a30], bl
jmp 0x100b23e5
movsd xmm1, qword [esp + 0x1a50]
movsd xmm2, qword [esp + 0x1a48]
movsd xmm0, qword [esp + 0x1a58]
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x1a40]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x1a38]
movsd qword [esp + 0x178], xmm0
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x1a30]
movsd qword [esp + 0x158], xmm2
movsd xmm2, qword [esp + 0x1a20]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x1a28]
movsd qword [esp + 0x140], xmm2
movsd qword [esp + 0x148], xmm1
lea ecx, [esp + 0x638]
call fcn.10097ef0
cmp byte [esp + 0x78], 2
je 0x100b238b
mov ecx, dword [esp + 0x70]
lock dec dword [ecx]
jne 0x100b238b
mov edx, dword [esp + 0x74]
call fcn.10099a10
mov ecx, dword [esp + 0x80]
lock dec dword [ecx]
jne 0x100b239c
call fcn.10099aa0
mov ebx, 1
jmp 0x100b3916
lock inc dword [esi]
jle 0x100b6832
mov dword [esp + 0x1a20], eax
mov dword [esp + 0x1a24], esi
mov dword [esp + 0x1a28], edi
mov byte [esp + 0x1a2c], bh
mov byte [esp + 0x1a30], bl
lock dec dword [esi]
jne 0x100b23e5
mov edx, dword [esp + 0x72c]
mov ecx, esi
call fcn.10099a10
lea edi, [esp + 0x638]
mov ecx, edi
call fcn.10097ef0
movsd xmm0, qword [esp + 0x1a20]
movsd xmm1, qword [esp + 0x1a28]
mov eax, dword [esp + 0x1a30]
cmp bh, 2
movsd qword [esp + 0x98], xmm0
movsd qword [esp + 0xa0], xmm1
mov dword [esp + 0xa8], eax
jne 0x100b2442
mov al, 2
mov esi, dword [esp + 0x80]
mov byte [esp + 0x24], bh
cmp byte [esi + 0x44], 0
jne 0x100b246d
jmp 0x100b2562
mov ecx, dword [esp + 0x70]
lock inc dword [ecx]
jle 0x100b6832
mov edx, dword [esp + 0x74]
movzx eax, byte [esp + 0x78]
mov esi, dword [esp + 0x80]
mov byte [esp + 0x24], bh
cmp byte [esi + 0x44], 0
je 0x100b2562
cmp byte [esi + 0x3e], 0
je 0x100b2562
mov edi, dword [esp + 0x6c]
mov dword [esp + 0x220], 0
mov dword [esp + 0x228], ecx
mov dword [esp + 0x22c], edx
mov byte [esp + 0x2068], 3
mov byte [esp + 0x230], al
mov dword [esp + 0x2058], 0
lea esi, [esp + 0x1a20]
push esi
call fcn.100c8bf0
add esp, 4
mov eax, dword [esp + 0x2068]
movsd xmm0, qword [esp + 0x2058]
movsd xmm1, qword [esp + 0x2060]
mov dword [esp + 0x648], eax
lea eax, [esp + 0x64c]
movsd qword [esp + 0x640], xmm1
movsd qword [esp + 0x638], xmm0
push 0xf0
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x230]
movsd xmm0, qword [esp + 0x220]
movsd xmm1, qword [esp + 0x228]
mov dword [esp + 0x1a30], eax
movsd qword [esp + 0x1a28], xmm1
movsd qword [esp + 0x1a20], xmm0
push esi
lea eax, [esp + 0x63c]
push eax
call fcn.100c43d0
add esp, 8
lock inc dword [edi]
jle 0x100b6832
movzx eax, byte [esp + 0x648]
cmp al, 3
jne 0x100b2582
mov cl, 3
jmp 0x100b25a9
mov esi, 2
cmp al, 2
je 0x100b264d
lock dec dword [ecx]
jne 0x100b264d
call fcn.10099a10
jmp 0x100b264d
cmp al, 2
jne 0x100b258a
mov cl, 2
jmp 0x100b25a9
mov edx, dword [esp + 0x640]
lock inc dword [edx]
jle 0x100b6832
mov ebx, dword [esp + 0x644]
movzx ecx, byte [esp + 0x648]
mov esi, dword [esp + 0x638]
cmp cl, 3
mov dword [esp + 0x1a20], esi
mov esi, dword [esp + 0x63c]
mov dword [esp + 0x1a24], esi
mov dword [esp + 0x1a2c], ebx
mov dword [esp + 0x1a28], edx
mov byte [esp + 0x1a30], al
mov dword [esp + 0x1a34], edi
je 0x100b2603
cmp cl, 2
je 0x100b2603
mov ecx, dword [esp + 0x640]
lock dec dword [ecx]
jne 0x100b2603
mov edx, dword [esp + 0x644]
call fcn.10099a10
lea ecx, [esp + 0x64c]
call fcn.10097ef0
mov bh, byte [esp + 0x24]
lea edi, [esp + 0x638]
lea eax, [esp + 0x1a24]
mov esi, dword [esp + 0x1a20]
movsd xmm0, qword [eax]
movsd xmm1, qword [eax + 8]
mov eax, dword [eax + 0x10]
movsd qword [esp + 0x638], xmm0
movsd qword [esp + 0x640], xmm1
mov dword [esp + 0x648], eax
mov eax, dword [esp + 0x648]
movsd xmm0, qword [esp + 0x638]
movsd xmm1, qword [esp + 0x640]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xb0], esi
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x2c], 3
movsd qword [esp + 0xb4], xmm0
movsd qword [esp + 0xbc], xmm1
mov dword [esp + 0xc4], eax
mov dword [esp + 0x4c], edx
mov dword [esp + 0x20], ecx
cmp byte [ecx + 0x43], 0
je 0x100b28b6
mov eax, dword [ecx + 0x54]
cmp dword [eax + 0x18], 0
jne 0x100b26be
test byte [eax + 0x1d], 3
je 0x100b28b6
mov dword [esp + 0x1c], esi
mov bh, byte [ecx + 0x3e]
mov bl, byte [ecx + 0x45]
mov esi, dword [ecx + 0x18]
mov edi, dword [ecx + 0x1c]
lea eax, [esp + 0x1a2c]
push eax
call fcn.100c8bf0
add esp, 4
cmp esi, 2
mov eax, 1
mov ecx, 0x100000
cmovne eax, esi
cmove edi, ecx
test bh, bh
setne byte [esp + 0x1a28]
mov dword [esp + 0x1a20], eax
mov eax, dword [esp + 0x4c]
test bl, bl
mov dword [esp + 0x1a24], edi
mov byte [esp + 0x1a29], 1
setne byte [esp + 0x1a2a]
lock inc dword [eax]
jle 0x100b6832
push eax
lea eax, [esp + 0x1a24]
push eax
lea edi, [esp + 0x640]
push edi
call fcn.1009e0e0
add esp, 0xc
mov bh, byte [esp + 0x24]
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x1a2c]
call fcn.10097ef0
cmp dword [esp + 0x638], 0
je 0x100b27bd
mov ecx, dword [esp + 0x640]
cmp ecx, 0x26
ja 0x100b28b6
mov eax, dword [esp + 0x648]
lea esi, [ecx - 0x20]
xor edx, edx
lea edi, [ecx - 0x1f]
cmp esi, 7
cmovb edx, edi
cmp edx, 1
je 0x100b2872
mov esi, dword [esp + 0x1c]
test edx, edx
lea edi, [esp + 0x638]
jne 0x100b28b6
cmp ecx, 0x1f
jne 0x100b2895
test eax, eax
je 0x100b28b6
mov eax, dword [esp + 0x644]
jmp 0x100b28a6
mov eax, dword [esp + 0x63c]
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x640]
push 0x138
push eax
lea eax, [esp + 0x1a28]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
jmp 0x100b28b6
lea edi, [esp + 0xcd0]
push 0x1a8
push esi
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x60]
push edi
push eax
call fcn.100da9d0
add esp, 8
test ebx, ebx
je 0x100b2849
mov eax, dword [esp + 0xc]
mov edi, dword [0x1035648c]
lea esi, [eax + 4]
jmp 0x100b2836
add esi, 0x10
dec ebx
je 0x100b2849
cmp dword [esi], 0
je 0x100b2830
push dword [esi - 4]
push 0
push dword [edi]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b2830
cmp dword [esp + 0x27ec], 0
mov esi, dword [esp + 0x20]
je 0x100b205b
mov eax, dword [0x1035648c]
push dword [esp + 0xc]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b205b
mov esi, dword [esp + 0x1c]
cmp eax, 4
lea edi, [esp + 0x638]
jb 0x100b28b6
cmp dword [esp + 0x654], 0
je 0x100b28b6
mov eax, dword [esp + 0x650]
jmp 0x100b28a6
cmp dword [esp + 0x660], 0
je 0x100b28b6
mov eax, dword [esp + 0x65c]
mov ecx, dword [0x1035648c]
push eax
push 0
push dword [ecx]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1658], eax
lea eax, [esp + 0x165c]
push 0x138
lea ecx, [esp + 0x1a24]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x41], 0
je 0x100b29ac
push edi
call fcn.100c8bf0
add esp, 4
mov eax, dword [esp + 0x18]
mov dword [esp + 0x638], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x63c], eax
mov eax, dword [esp + 0x30]
mov byte [esp + 0x640], 1
mov byte [esp + 0x641], al
mov ah, byte [esp + 0x10]
mov byte [esp + 0x642], ah
mov word [esp + 0x643], 1
mov byte [esp + 0x645], 2
lea edx, [esp + 0x638]
lea ecx, [esp + 0x1a20]
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.100c8ea0
add esp, 8
cmp dword [esp + 0x1a20], 0x27
jne 0x100b29c6
mov eax, dword [esp + 0x1a24]
mov dword [esp + 0x2c], eax
mov dword [esp + 0xac], eax
lea ecx, [esp + 0x638]
call fcn.10097ef0
mov eax, dword [esp + 0x20]
cmp byte [eax + 0x41], 0
je 0x100b2b46
cmp bh, 2
jne 0x100b2b62
mov edx, dword [esp + 0x20]
mov byte [esp + 0x8c], 2
mov ah, 2
mov al, byte [edx + 0x3e]
jmp 0x100b2ba6
mov dword [esp + 0xc], 0
mov ebx, 2
mov dword [esp + 0x2c], 0
jmp 0x100b3832
movsd xmm1, qword [esp + 0x1a50]
movsd xmm2, qword [esp + 0x1a48]
movsd xmm0, qword [esp + 0x1a58]
movsd qword [esp + 0x170], xmm1
movsd xmm1, qword [esp + 0x1a40]
movsd qword [esp + 0x168], xmm2
movsd xmm2, qword [esp + 0x1a38]
movsd qword [esp + 0x178], xmm0
movsd qword [esp + 0x160], xmm1
movsd xmm1, qword [esp + 0x1a30]
movsd qword [esp + 0x158], xmm2
movsd xmm2, qword [esp + 0x1a20]
movsd qword [esp + 0x150], xmm1
movsd xmm1, qword [esp + 0x1a28]
movsd qword [esp + 0x140], xmm2
movsd qword [esp + 0x148], xmm1
lea ecx, [esp + 0x638]
call fcn.10097ef0
cmp dword [esp + 0x2c], 3
je 0x100b2ab8
mov ecx, dword [esp + 0x1664]
lock dec dword [ecx]
jne 0x100b2a7a
call fcn.10099950
cmp dword [esp + 0x166c], 0
je 0x100b2a99
mov eax, dword [0x1035648c]
push dword [esp + 0x1668]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x1678], 0
je 0x100b2ab8
mov eax, dword [0x1035648c]
push dword [esp + 0x1674]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp esi, 2
je 0x100b2af6
movzx eax, byte [esp + 0xc0]
cmp al, 3
je 0x100b2ae5
cmp al, 2
je 0x100b2ae5
mov ecx, dword [esp + 0xb8]
lock dec dword [ecx]
jne 0x100b2ae5
mov edx, dword [esp + 0xbc]
call fcn.10099a10
mov ecx, dword [esp + 0xc4]
lock dec dword [ecx]
jne 0x100b2af6
call fcn.10099950
movzx eax, byte [esp + 0xa4]
cmp al, 3
je 0x100b2b1e
cmp al, 2
je 0x100b2b1e
mov ecx, dword [esp + 0x9c]
lock dec dword [ecx]
jne 0x100b2b1e
mov edx, dword [esp + 0xa0]
call fcn.10099a10
mov ecx, dword [esp + 0x98]
lock dec dword [ecx]
jne 0x100b2b2f
call fcn.10099950
mov ecx, dword [esp + 0x6c]
lock dec dword [ecx]
jne 0x100b2372
call fcn.10099950
jmp 0x100b2372
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], 2
lea ebx, [esp + 0x638]
jmp 0x100b3803
mov ecx, dword [esp + 0x70]
lock inc dword [ecx]
jle 0x100b6832
mov esi, dword [esp + 0x74]
mov ah, byte [esp + 0x78]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x88], esi
mov byte [esp + 0x8c], ah
cmp byte [edx + 0x41], 0
je 0x100b37b0
mov al, byte [edx + 0x3e]
lock inc dword [ecx]
jle 0x100b6832
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
mov edi, 0x200000
cmp dword [edx + 8], 0
je 0x100b2bca
mov edi, dword [edx + 0xc]
cmp byte [edx + 0x45], 0
movaps xmm0, xmmword [0x10247fe0]
mov byte [esp + 0x25a8], 3
mov dword [esp + 0x25ac], 0x2020202
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], esi
mov byte [esp + 0x30], ah
mov dword [esp + 0x18], edi
mov dword [esp + 0x2564], 0
mov dword [esp + 0x2560], 0
mov word [esp + 0x25b0], 0x202
mov dword [esp + 0x2588], 0
mov dword [esp + 0x2590], 2
mov dword [esp + 0x2598], 2
setne byte [esp + 0x1c]
setne byte [esp + 0x116]
test al, al
setne byte [esp + 0x114]
setne byte [esp + 0x58]
cmp ah, 2
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], esi
mov byte [esp + 0x110], ah
mov dword [esp + 0xf0], 1
mov dword [esp + 0xf4], edi
movups xmmword [esp + 0xf8], xmm0
mov byte [esp + 0x115], 1
mov byte [esp + 0x117], 1
setne byte [esp + 0x118]
setne byte [esp + 0x28]
mov byte [esp + 0x119], 0
lea ebx, [esp + 0x220]
push ebx
call fcn.100c8bf0
add esp, 4
lea edi, [esp + 0x638]
lea esi, [esp + 0x2560]
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
lea edi, [esp + 0x690]
push 0xf0
push ebx
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
cmp byte [esp + 0x24], 2
mov eax, dword [esp + 0xc]
je 0x100b2cfb
lock inc dword [eax]
jle 0x100b6832
movzx ecx, byte [esp + 0x58]
movaps xmm0, xmmword [0x10247fe0]
mov byte [esp + 0x26c], cl
mov dword [esp + 0x260], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x264], eax
movzx eax, byte [esp + 0x30]
mov byte [esp + 0x268], al
movzx eax, byte [esp + 0x1c]
mov byte [esp + 0x26d], 1
mov byte [esp + 0x26e], al
movzx eax, byte [esp + 0x28]
mov byte [esp + 0x26f], 1
mov dword [esp + 0x224], 0
mov dword [esp + 0x220], 0
mov byte [esp + 0x270], al
mov eax, dword [esp + 0x18]
mov dword [esp + 0x248], 1
mov dword [esp + 0x24c], eax
mov byte [esp + 0x271], 0
movups xmmword [esp + 0x250], xmm0
lea eax, [esp + 0x220]
push eax
lea ebx, [esp + 0x63c]
push ebx
call fcn.100a6f10
add esp, 8
mov eax, dword [esp + 0x4c]
lock inc dword [eax]
jle 0x100b6832
lea esi, [esp + 0x1798]
push eax
push ebx
push esi
call fcn.100a5d30
add esp, 0xc
movzx eax, byte [esp + 0x680]
cmp al, 3
je 0x100b2def
cmp al, 2
je 0x100b2def
mov ecx, dword [esp + 0x678]
lock dec dword [ecx]
jne 0x100b2def
mov edx, dword [esp + 0x67c]
call fcn.10099a10
mov bl, 1
mov ecx, edi
call fcn.10097ef0
mov eax, dword [esp + 0x1798]
xor eax, 2
or eax, dword [esp + 0x179c]
jne 0x100b2e5e
mov ecx, dword [esp + 0x17a0]
cmp ecx, 0x26
ja 0x100b3765
mov eax, dword [esp + 0x17a8]
lea esi, [ecx - 0x20]
xor edx, edx
lea edi, [ecx - 0x1f]
cmp esi, 7
cmovb edx, edi
cmp edx, 1
je 0x100b36aa
test edx, edx
jne 0x100b3765
cmp ecx, 0x1f
jne 0x100b36ca
test eax, eax
je 0x100b3765
mov eax, dword [esp + 0x17a4]
jmp 0x100b36df
lea eax, [esp + 0x27e8]
push 0x288
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x4f0], 3
mov dword [esp + 0x4f4], 0x2020202
mov dword [esp + 0x4ac], 0
mov dword [esp + 0x4a8], 0
mov word [esp + 0x4f8], 0x202
mov dword [esp + 0x4d0], 0
mov dword [esp + 0x4d8], 2
mov dword [esp + 0x4e0], 2
lea ebx, [esp + 0x220]
push ebx
call fcn.100c8bf0
add esp, 4
lea edi, [esp + 0x638]
lea esi, [esp + 0x4a8]
mov ecx, 0x16
rep movsd dword es:[edi], dword [esi]
push 0xf0
push ebx
lea eax, [esp + 0x698]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx ebx, byte [esp + 0x110]
cmp bl, 3
je 0x100b2f34
cmp bl, 2
je 0x100b2f34
mov eax, dword [esp + 0x108]
mov dword [esp + 0x10], eax
lock inc dword [eax]
jle 0x100b6832
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc8]
movzx ecx, byte [esp + 0x116]
movzx edx, byte [esp + 0x117]
xor edi, edi
mov bh, byte [esp + 0x115]
or eax, dword [esp + 0xcc]
mov byte [esp + 0xc], cl
mov byte [esp + 0x30], dl
je 0x100b2faa
lea eax, [esp + 0xd0]
mov esi, 1
movsd xmm1, qword [eax + 0x10]
movsd xmm0, qword [eax + 0x18]
movsd xmm2, qword [eax]
movsd qword [esp + 0x4b8], xmm1
movsd xmm1, qword [eax + 8]
movsd qword [esp + 0x4c0], xmm0
movsd qword [esp + 0x4a8], xmm2
movsd qword [esp + 0x4b0], xmm1
jmp 0x100b2fac
xor esi, esi
movsd xmm0, qword [esp + 0x4a8]
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x100]
xor eax, eax
movsd xmm1, qword [esp + 0x4b0]
test edx, edx
movsd qword [esp + 0x228], xmm0
movsd xmm0, qword [esp + 0x4b8]
movsd qword [esp + 0x230], xmm1
setne al
cmp edx, 2
cmove eax, edx
xor edx, edx
test ecx, ecx
setne dl
cmp ecx, 2
cmove edx, ecx
movsd qword [esp + 0x238], xmm0
movsd xmm0, qword [esp + 0x4c0]
mov ecx, dword [esp + 0xf0]
cmp bl, 3
movsd qword [esp + 0x240], xmm0
mov dword [esp + 0x220], esi
mov dword [esp + 0x224], edi
mov dword [esp + 0x248], ecx
mov ecx, dword [esp + 0xf4]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x24c], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x250], eax
mov dword [esp + 0x254], esi
mov dword [esp + 0x258], edx
mov esi, dword [esp + 0x18]
movzx edx, byte [esp + 0xc]
mov dword [esp + 0x25c], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], esi
mov byte [esp + 0x268], bl
mov byte [esp + 0x26c], 0
mov byte [esp + 0x26d], bh
mov byte [esp + 0x26e], dl
mov bh, byte [esp + 0x30]
movzx edx, word [esp + 0x118]
lea esi, [esp + 0x269]
mov byte [esp + 0x26f], bh
mov word [esp + 0x270], dx
je 0x100b30e5
cmp bl, 2
je 0x100b30e5
lock dec dword [ecx]
jne 0x100b30e5
mov edx, dword [esp + 0x264]
call fcn.10099a10
movzx ecx, byte [esp + 0x4aa]
mov byte [esp + 0x268], 2
xor edx, edx
lea ebx, [esp + 0x220]
lea eax, [esp + 0x271]
mov byte [esi + 2], cl
movzx ecx, word [esp + 0x4a8]
mov word [esi], cx
mov esi, ebx
mov ecx, dword [esp + 0x270]
cmp cl, 2
cmovne edx, ecx
mov ecx, 0x14
mov byte [esp + 0x270], dl
lea edx, [esp + 0x4a8]
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov byte [esp + 0x4f8], 0
mov ecx, dword [eax]
mov eax, dword [eax + 3]
mov dword [esp + 0x183], eax
mov dword [esp + 0x180], ecx
mov eax, dword [esp + 0x180]
mov ecx, dword [esp + 0x183]
mov dword [esp + 0x4f9], eax
mov dword [esp + 0x4fc], ecx
push edx
lea eax, [esp + 0x63c]
push eax
call fcn.100a6f10
add esp, 8
lea esi, [esp + 0x2560]
lea edi, [esp + 0x690]
mov eax, dword [esp + 0xac]
lock inc dword [eax]
jle 0x100b6832
push eax
lea eax, [esp + 0x63c]
push eax
push esi
call fcn.100a5d30
add esp, 0xc
movzx eax, byte [esp + 0x680]
cmp al, 3
je 0x100b31d9
cmp al, 2
je 0x100b31d9
mov ecx, dword [esp + 0x678]
lock dec dword [ecx]
jne 0x100b31d9
mov edx, dword [esp + 0x67c]
call fcn.10099a10
mov ecx, edi
call fcn.10097ef0
mov eax, dword [esp + 0x2560]
xor eax, 2
or eax, dword [esp + 0x2564]
jne 0x100b3246
mov ecx, dword [esp + 0x2568]
cmp ecx, 0x26
ja 0x100b372a
mov eax, dword [esp + 0x2570]
lea esi, [ecx - 0x20]
xor edx, edx
lea edi, [ecx - 0x1f]
cmp esi, 7
cmovb edx, edi
cmp edx, 1
je 0x100b36f1
test edx, edx
jne 0x100b372a
cmp ecx, 0x1f
jne 0x100b3709
test eax, eax
je 0x100b372a
mov eax, dword [esp + 0x256c]
jmp 0x100b371a
push 0x288
push esi
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov byte [esp + 0x1c8], 3
mov dword [esp + 0x1cc], 0x2020202
mov dword [esp + 0x184], 0
mov dword [esp + 0x180], 0
mov word [esp + 0x1d0], 0x202
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1b0], 2
mov dword [esp + 0x1b8], 2
lea eax, [esp + 0x4a8]
push eax
call fcn.100c8bf0
add esp, 4
lea ebx, [esp + 0x638]
lea esi, [esp + 0x180]
mov ecx, 0x16
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
push 0xf0
lea esi, [esp + 0x4ac]
push esi
lea eax, [esp + 0x698]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x148
push ebx
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x288
lea eax, [esp + 0x27ec]
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x8c0]
push 0x288
lea ecx, [esp + 0x2564]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x4f0]
cmp al, 3
je 0x100b3357
cmp al, 2
je 0x100b3357
mov ecx, dword [esp + 0x4e8]
lock dec dword [ecx]
jne 0x100b3357
mov edx, dword [esp + 0x4ec]
call fcn.10099a10
lea ecx, [esp + 0x500]
call fcn.10097ef0
mov eax, dword [esp + 0x638]
mov ebx, dword [esp + 0x640]
lea esi, [esp + 0x644]
lea edi, [esp + 0x5f4]
mov ecx, 0x11
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x63c]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x688]
rep movsd dword es:[edi], dword [esi]
push 0x4c0
push eax
lea eax, [esp + 0x1a28]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x110]
cmp al, 3
je 0x100b33da
cmp al, 2
je 0x100b33da
mov ecx, dword [esp + 0x108]
lock dec dword [ecx]
jne 0x100b33da
mov edx, dword [esp + 0x10c]
call fcn.10099a10
cmp byte [esp + 0x24], 2
mov dword [esp + 0x1c], ebx
je 0x100b37d1
mov ecx, dword [esp + 0x84]
lock dec dword [ecx]
je 0x100b37c5
jmp 0x100b37d1
cmp byte [eax + 0x28], 0
je 0x100b200b
cmp byte [esi + 0x3e], 0
je 0x100b200b
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
cmp word [eax], 7
jne 0x100b200b
mov dword [esp + 0x1a20], 4
mov dword [esp + 0x1a24], 0
mov dword [esp + 0x1a28], 0
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x100b4448
mov edi, dword [eax + 4]
lea eax, [ecx + ecx*8]
xor edx, edx
lea eax, [eax + eax*2]
add ecx, edi
add ecx, eax
mov dword [esp + 0x1c], ecx
mov ecx, 4
jmp 0x100b349e
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x30]
lea eax, [edx + edx*2]
inc edx
mov dword [ecx + eax*4], ebx
mov ebx, dword [esp + 0xc]
mov dword [ecx + eax*4 + 4], ebx
mov dword [ecx + eax*4 + 8], edi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x1a28], edx
add edi, 0x1c
cmp edi, dword [esp + 0x1c]
je 0x100b443c
mov dword [esp + 0x638], 1
mov dword [esp + 0x63c], 0
mov dword [esp + 0x220], edi
mov dword [esp + 0x640], 0
mov dword [esp + 0x2c], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], ecx
movzx eax, word [edi]
cmp eax, 1
je 0x100b358a
cmp eax, 6
jne 0x100b6f4f
mov ecx, dword [edi + 0xc]
test ecx, ecx
je 0x100b35d2
mov ebx, dword [edi + 4]
lea eax, [ecx + ecx*8]
xor edi, edi
mov dword [esp + 0x30], 1
lea eax, [eax + eax*2]
add ecx, ebx
add ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x100b3540
mov eax, dword [esp + 0x30]
mov dword [esp + 0x30], eax
add eax, edi
push esi
push dword [esp + 0x10]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x10]
add ebx, 0x1c
add edi, esi
mov dword [esp + 0x640], edi
cmp ebx, ecx
je 0x100b35dc
mov dword [esp + 0x2058], ebx
cmp word [ebx], 1
jne 0x100b6d87
mov ecx, dword [esp + 0x63c]
mov esi, dword [ebx + 8]
mov eax, dword [ebx + 4]
sub ecx, edi
mov dword [esp + 0xc], eax
cmp ecx, esi
jae 0x100b3510
mov edx, edi
lea ecx, [esp + 0x638]
push esi
call fcn.1009b100
add esp, 4
mov eax, dword [esp + 0x638]
mov edi, dword [esp + 0x640]
jmp 0x100b3514
mov esi, dword [edi + 8]
mov ebx, dword [edi + 4]
test esi, esi
je 0x100b35b6
xor edx, edx
lea ecx, [esp + 0x638]
push esi
call fcn.1009b100
add esp, 4
mov eax, dword [esp + 0x638]
mov edi, dword [esp + 0x640]
jmp 0x100b35bd
xor edi, edi
mov eax, 1
mov dword [esp + 0x30], eax
add eax, edi
push esi
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
add edi, esi
jmp 0x100b35dc
mov dword [esp + 0x30], 1
xor edi, edi
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x63c]
cmp edx, dword [esp + 0x1a24]
mov dword [esp + 0xc], ebx
jne 0x100b3467
lea ecx, [esp + 0x1a20]
call fcn.1009a570
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x1a20]
mov edx, dword [esp + 0x1a28]
jmp 0x100b346f
test cl, cl
je 0x100b1fe1
cmp word [edx + 0x1c], 0
jne 0x100b1fe1
mov edx, 1
lea ecx, [esp + 0xcd0]
push eax
push edi
call fcn.100dae30
add esp, 8
movzx esi, byte [esp + 0xcd0]
cmp esi, 7
je 0x100b1fe1
movzx eax, byte [esp + 0xcd3]
movzx ebx, word [esp + 0xcd1]
shl eax, 0x10
or eax, ebx
mov dword [esp + 0xc], eax
lea eax, [esp + 0xcd4]
lea ecx, [esp + 0x1a20]
push 0x1a4
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x10]
add eax, dword [esi*4 + 0x100b7a5c]
jmp eax
cmp eax, 4
jb 0x100b3765
cmp dword [esp + 0x17b4], 0
je 0x100b3765
mov eax, dword [esp + 0x17b0]
jmp 0x100b36df
cmp dword [esp + 0x17c0], 0
je 0x100b3765
mov eax, dword [esp + 0x17bc]
mov ecx, dword [0x1035648c]
push eax
push 0
push dword [ecx]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b3765
cmp eax, 4
jb 0x100b372a
cmp dword [esp + 0x257c], 0
je 0x100b372a
mov eax, dword [esp + 0x2578]
jmp 0x100b371a
cmp dword [esp + 0x2588], 0
je 0x100b372a
mov eax, dword [esp + 0x2584]
mov ecx, dword [0x1035648c]
push eax
push 0
push dword [ecx]
call sub.KERNEL32.dll_HeapFree
movzx eax, byte [esp + 0x2830]
cmp al, 3
je 0x100b3752
cmp al, 2
je 0x100b3752
mov ecx, dword [esp + 0x2828]
lock dec dword [ecx]
jne 0x100b3752
mov edx, dword [esp + 0x282c]
call fcn.10099a10
mov ecx, dword [esp + 0x2a60]
lock dec dword [ecx]
jne 0x100b3765
xor ebx, ebx
call fcn.10099950
movzx eax, byte [esp + 0x110]
cmp al, 3
je 0x100b378d
cmp al, 2
je 0x100b378d
mov ecx, dword [esp + 0x108]
lock dec dword [ecx]
jne 0x100b378d
mov edx, dword [esp + 0x10c]
call fcn.10099a10
cmp byte [esp + 0x8c], 2
jne 0x100b37a9
mov dword [esp + 0xc], 0
mov dword [esp + 0x30], 2
jmp 0x100b37d1
mov ecx, dword [esp + 0x84]
mov dword [esp + 0xc], 0
lock dec dword [ecx]
mov dword [esp + 0x30], 2
jne 0x100b37d1
mov edx, dword [esp + 0x88]
call fcn.10099a10
lea edi, [esp + 0x220]
lea esi, [esp + 0x5f4]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
push 0x4c0
lea eax, [esp + 0x1a24]
push eax
lea ebx, [esp + 0x640]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edi, [esp + 0x1610]
lea esi, [esp + 0x220]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
lea eax, [esp + 0x2058]
push 0x4c0
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ebx, dword [esp + 0x30]
lea esi, [esp + 0x1610]
lea edi, [esp + 0x13c]
mov ecx, 0x11
mov dword [esp + 0x24], esi
rep movsd dword es:[edi], dword [esi]
lea esi, [esp + 0xcd0]
lea eax, [esp + 0x2058]
push 0x4c0
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x70]
mov eax, dword [esp + 0x78]
movsd xmm1, qword [esp + 0xa0]
movsd xmm3, qword [esp + 0x98]
movsd xmm2, qword [esp + 0xb0]
mov dword [esp + 0x12ec], eax
movsd qword [esp + 0x12e4], xmm0
movsd qword [esp + 0x12f8], xmm1
mov eax, dword [esp + 0xa8]
movsd xmm1, qword [esp + 0xb8]
movsd qword [esp + 0x12f0], xmm3
mov dword [esp + 0x1300], eax
movsd qword [esp + 0x1198], xmm1
movsd xmm1, qword [esp + 0xc0]
movsd qword [esp + 0x1190], xmm2
lea eax, [esp + 0x11a8]
movsd qword [esp + 0x11a0], xmm1
lea ecx, [esp + 0x1658]
push 0x13c
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, ebx
xor eax, 3
or eax, dword [esp + 0xc]
jne 0x100b3969
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebp + 8]
lea eax, [esp + 0x251c]
lea esi, [esp + 0x13c]
mov ecx, 0x11
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov esi, eax
mov ecx, 0x11
lea edi, [edx + 4]
mov eax, edx
rep movsd dword es:[edi], dword [esi]
mov dword [edx], ebx
cmp byte [esp + 0x68], 2
je 0x100b4434
mov ecx, dword [esp + 0x60]
lock dec dword [ecx]
jne 0x100b4434
mov edx, dword [esp + 0x64]
call fcn.10099a10
mov eax, dword [ebp + 8]
jmp 0x100b4434
mov dword [esp + 0x30], ebx
lea ebx, [esp + 0x251c]
mov eax, esi
lea esi, [esp + 0x13c]
mov ecx, 0x11
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x2a70]
push 0x634
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edi, [esp + 0x1dc]
mov ecx, 0x11
mov esi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc]
mov ebx, dword [eax + 0x54]
test byte [ebx + 0x20], 2
jne 0x100b3b87
mov eax, dword [esp + 0x30]
mov dword [esp + 0x63c], ecx
lea edi, [esp + 0x644]
lea esi, [esp + 0x1dc]
mov ecx, 0x11
mov dword [esp + 0x638], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x640], eax
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x688]
push 0x634
lea eax, [esp + 0x2a74]
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x4c]
mov dword [esp + 0xcbc], eax
mov dword [esp + 0xcc4], ecx
mov dword [esp + 0xcc0], edx
mov byte [esp + 0xcc8], 0
cmp byte [eax + 0x40], 0
je 0x100b3ca5
test byte [ebx + 0x1e], 1
jne 0x100b3c54
mov eax, dword [esp + 0x30]
xor eax, 2
or eax, dword [esp + 0xc]
je 0x100b3c54
movzx eax, byte [esp + 0xca4]
lea ebx, [esp + 0xcd0]
lea esi, [esp + 0x2058]
test al, 1
jne 0x100b3c54
mov eax, dword [esp + 0x20]
cmp dword [ebp + 0x14], 0
movaps xmm0, xmmword [0x10247fd0]
movzx eax, byte [eax + 0x3e]
movups xmmword [esp + 0xcd0], xmm0
mov dword [esp + 0x220], 4
mov dword [esp + 0x224], 0
mov byte [esp + 0xce0], 1
mov dword [esp + 0x228], 0
mov byte [esp + 0x51], al
je 0x100b3d46
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
lea ecx, [eax + ecx*4]
mov edi, eax
mov dword [esp + 0x18], ecx
jmp 0x100b3af5
mov edi, dword [esp + 0x10]
lea esi, [esp + 0x2058]
cmp edi, dword [esp + 0x18]
je 0x100b3d46
push dword [edi]
push ebx
push esi
call fcn.100f98b0
add esp, 0xc
lea ecx, [esp + 0x220]
mov edx, esi
call fcn.10091570
add edi, 4
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x2058]
test edi, edi
je 0x100b3ae0
mov esi, dword [esp + 0x2060]
test esi, esi
je 0x100b3b5e
lea ebx, [edi + 4]
jmp 0x100b3b46
add ebx, 0x10
dec esi
je 0x100b3b5e
cmp dword [ebx], 0
je 0x100b3b40
push dword [ebx - 4]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b3b40
cmp dword [esp + 0x205c], 0
lea ebx, [esp + 0xcd0]
je 0x100b3ae0
push edi
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b3ae0
test byte [ebx + 0x1e], 1
jne 0x100b39c1
mov eax, dword [esp + 0x30]
xor eax, 2
or eax, ecx
je 0x100b39c1
mov ebx, ecx
lea edi, [esp + 0xce4]
lea esi, [esp + 0x1dc]
mov ecx, 0x11
lea eax, [esp + 0xd28]
rep movsd dword es:[edi], dword [esi]
push 0x634
lea ecx, [esp + 0x2a74]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x30]
mov dword [esp + 0xcdc], ebx
mov esi, dword [0x1035648c]
mov dword [esp + 0xcd8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xce0], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x135c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1364], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1360], eax
mov eax, dword [0x103564a0]
mov byte [esp + 0x1368], 0
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
je 0x100b3cf8
lea edi, [esp + 0xcd0]
jmp 0x100b3d0e
lea edi, [esp + 0x4a8]
lea esi, [esp + 0x1dc]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0x2a74]
push eax
lea esi, [esp + 0x1a28]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xccc]
mov ebx, dword [esp + 0xcc8]
mov dword [esp + 0x18], eax
mov al, 1
mov dword [esp + 0x28], eax
mov eax, esi
jmp 0x100b406e
lea edi, [esp + 0x4a8]
lea esi, [esp + 0x1dc]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0x2a74]
push eax
lea esi, [esp + 0x1a28]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xccc]
mov ebx, dword [esp + 0xcc8]
mov dword [esp + 0x28], 0
mov dword [esp + 0x18], eax
mov eax, esi
jmp 0x100b406e
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
lea edi, [esp + 0xcd0]
je 0x100b6f22
mov dword [esi], eax
push 0x6a0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100b6f22
mov esi, eax
push 0x6a0
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 4], esi
mov dword [eax + 8], 0x1024a13c
jmp 0x100b4423
cmp byte [esp + 0x51], 0
je 0x100b3e92
lea eax, [esp + 0x220]
push 0
push eax
call fcn.100fc260
add esp, 8
movsd xmm0, qword [esp + 0x220]
mov ecx, dword [esp + 0x228]
movsd qword [esp + 0x1610], xmm0
mov dword [esp + 0x1618], ecx
mov eax, dword [esp + 0x1610]
test eax, eax
mov dword [esp + 0x5c], eax
je 0x100b3fb9
test ecx, ecx
je 0x100b3fb9
mov ebx, dword [esp + 0x5c]
shl ecx, 4
mov edi, 1
mov esi, dword [ebx + 8]
mov eax, dword [ebx]
add ecx, ebx
mov dword [esp + 0x120], ecx
xor ecx, ecx
mov dword [esp + 0x54], eax
add eax, esi
mov dword [esp + 0x10], esi
mov dword [esp + 0x94], esi
mov dword [esp + 0x18], eax
jmp 0x100b3df0
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x58]
xor edi, edi
test esi, esi
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x94]
mov cl, 1
je 0x100b3fb9
test cl, 1
je 0x100b3e03
cmp ebx, dword [esp + 0x120]
jne 0x100b3e1c
jmp 0x100b3f81
mov eax, dword [esp + 0x120]
sub eax, ebx
shr eax, 4
cmp eax, edi
jbe 0x100b3f81
shl edi, 4
add ebx, edi
mov eax, esi
sub eax, dword [esp + 0x10]
jb 0x100b6f0d
mov edx, dword [ebx + 8]
test edx, edx
je 0x100b3fb9
add eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x18]
mov edi, dword [ebx]
add ebx, 0x10
xor esi, esi
mov dword [esp + 0x7c], edx
mov dword [esp + 0x28], ebx
sub ecx, eax
mov eax, edx
add edi, edx
mov dword [esp + 0x58], ecx
neg eax
mov ecx, 0xffffffff
nop dword [eax + eax]
mov edx, dword [esp + 0x10]
lea ebx, [edx + ecx]
cmp ebx, 0xffffffff
je 0x100b3dd1
movzx ebx, byte [edi + ecx]
mov edx, dword [esp + 0x18]
cmp bl, byte [edx + ecx]
jne 0x100b3e89
inc esi
mov ebx, eax
dec ecx
add ebx, esi
jne 0x100b3e60
mov esi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x28]
jmp 0x100b3dd9
mov ecx, dword [esp + 0x220]
test ecx, ecx
je 0x100b3d63
mov esi, dword [esp + 0x228]
mov edx, esi
mov dword [esp + 0x28], ecx
call fcn.10099ad0
mov edx, dword [esp + 0x28]
mov ecx, esi
cmp esi, 2
jb 0x100b3d63
dec ecx
lea esi, [edx + 0x1c]
mov ebx, 1
jmp 0x100b3ef5
mov ebx, dword [esp + 0x10]
movsd xmm0, qword [edi]
movsd xmm1, qword [edi + 8]
mov eax, ebx
inc ebx
shl eax, 4
movsd qword [edx + eax + 8], xmm1
movsd qword [edx + eax], xmm0
add esi, 0x10
dec ecx
je 0x100b3f75
mov eax, dword [esi - 4]
mov dword [esp + 0x10], ebx
dec ebx
lea edi, [esi - 0xc]
shl ebx, 4
cmp eax, dword [edx + ebx + 8]
jne 0x100b3ecd
mov dword [esp + 0x18], ecx
lea ecx, [edx + ebx]
mov edx, dword [edi]
push eax
push dword [ecx]
mov dword [esp + 0x60], edx
push edx
call sub.msvcrt.dll_memcmp
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x34]
add esp, 0xc
test eax, eax
jne 0x100b3ecd
cmp byte [esi], 0
mov edi, dword [esp + 0x58]
setne al
cmp byte [edx + ebx + 0xc], 0
setne cl
cmp al, cl
je 0x100b3f4e
lea eax, [edx + ebx + 0xc]
mov byte [esi], 0
mov byte [eax], 0
cmp dword [esi - 8], 0
je 0x100b3f67
push edi
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x10]
add esi, 0x10
dec ecx
jne 0x100b3ef5
mov dword [esp + 0x228], ebx
jmp 0x100b3d63
mov eax, esi
sub eax, dword [esp + 0x10]
jb 0x100b6f72
cmp dword [esp + 0x10], 0
je 0x100b3fb9
mov edi, dword [esp + 0x54]
add edi, eax
cmp dword [esp + 0x10], 1
jne 0x100b4532
movzx eax, byte [edi]
mov dword [esp + 0x18], 0
mov byte [esp + 0x28], al
jmp 0x100b5b35
lea edi, [esp + 0x4a8]
lea esi, [esp + 0x1dc]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0x2a74]
push eax
lea eax, [esp + 0x1a28]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xcc8]
mov ecx, dword [esp + 0xccc]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
cmp dword [esp + 0x5c], 0
je 0x100b4057
mov esi, dword [esp + 0x1618]
test esi, esi
je 0x100b403b
mov eax, dword [esp + 0x5c]
mov ebx, dword [0x1035648c]
lea edi, [eax + 4]
jmp 0x100b4028
add edi, 0x10
dec esi
je 0x100b403b
cmp dword [edi], 0
je 0x100b4022
push dword [edi - 4]
push 0
push dword [ebx]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b4022
cmp dword [esp + 0x1614], 0
je 0x100b4057
mov eax, dword [0x1035648c]
push dword [esp + 0x5c]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x24]
movzx eax, byte [eax + 0x40]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x1a20]
lea edi, [esp + 0x1dc]
lea esi, [esp + 0x4a8]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
push 0x634
push eax
lea eax, [esp + 0x2a78]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, ebx
lea edi, [esp + 0xcdc]
mov ecx, 0x11
lea esi, [esp + 0x1dc]
shr eax, 8
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcd4], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xcd0], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xcd8], eax
lea eax, [esp + 0xd20]
rep movsd dword es:[edi], dword [esi]
push 0x634
lea ecx, [esp + 0x2a74]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], ebx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1354], ecx
mov dword [esp + 0x135c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1358], eax
mov byte [esp + 0x1360], bl
shr ebx, 0x18
mov eax, dword [esp + 0x10]
cmp byte [esp + 0x28], 0
mov byte [esp + 0x1363], bl
mov word [esp + 0x1361], ax
mov dword [esp + 0x1364], edx
je 0x100b42af
cmp byte [ecx + 0x3e], 0
je 0x100b42af
mov eax, dword [ecx + 0x54]
test byte [eax + 0x1e], 1
jne 0x100b42af
mov eax, dword [esp + 0x30]
xor eax, 2
or eax, dword [esp + 0xc]
mov eax, dword [esp + 0x24]
jne 0x100b41c8
test al, al
jne 0x100b41c8
lea edi, [esp + 0x2560]
lea esi, [esp + 0x1dc]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0x2a74]
push eax
lea ebx, [esp + 0x640]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x24], 0
mov dword [esp + 0x30], 2
mov dword [esp + 0xc], 0
jmp 0x100b42e1
movzx eax, byte [esp + 0x133c]
test al, 1
jne 0x100b42af
cmp dword [ebp + 0x14], 1
jne 0x100b4209
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x4b1]
mov dword [esp + 0x30], eax
mov ecx, dword [ecx]
movzx eax, word [ecx]
cmp eax, 5
jne 0x100b4203
add ecx, 4
mov ecx, dword [ecx]
movzx eax, word [ecx]
cmp eax, 5
je 0x100b41f6
jae 0x100b4459
mov eax, dword [esp + 0xcd0]
lea edi, [esp + 0x2560]
mov ecx, 0x11
lea esi, [esp + 0xcdc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xcd4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xcd8]
mov dword [esp + 0x1c], eax
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0xd24]
push eax
lea ebx, [esp + 0x640]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1354]
movzx ecx, word [esp + 0x1361]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1358]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x135c]
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0x1363]
shl eax, 0x10
or ecx, eax
movzx eax, byte [esp + 0x1360]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x1364]
mov dword [esp + 0x24], eax
mov dword [esp + 0x18], ecx
jmp 0x100b42e1
lea edi, [esp + 0x2560]
lea esi, [esp + 0x1dc]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0x2a74]
push eax
lea ebx, [esp + 0x640]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edi, [esp + 0x1dc]
lea esi, [esp + 0x2560]
mov ecx, 0x11
rep movsd dword es:[edi], dword [esi]
push 0x634
push ebx
lea ebx, [esp + 0x2a78]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea edi, [esp + 0xce4]
mov ecx, 0x11
lea esi, [esp + 0x1dc]
lea eax, [esp + 0xd28]
rep movsd dword es:[edi], dword [esi]
push 0x634
push ebx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov esi, dword [0x1035648c]
mov dword [esp + 0xcdc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xcd8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xce0], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x135c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1364], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1360], eax
mov eax, dword [esp + 0x24]
mov byte [esp + 0x1368], al
mov eax, ecx
mov word [esp + 0x1369], cx
shr eax, 0x10
mov byte [esp + 0x136b], al
mov eax, dword [esp + 0x18]
mov dword [esp + 0x136c], eax
mov eax, dword [0x103564a0]
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
mov eax, dword [esi]
test eax, eax
je 0x100b43da
lea edi, [esp + 0xcd0]
jmp 0x100b43f0
call sub.KERNEL32.dll_GetProcessHeap
test eax, eax
lea edi, [esp + 0xcd0]
je 0x100b6ee4
mov dword [esi], eax
push 0x6a0
push 0
push eax
call sub.KERNEL32.dll_HeapAlloc
test eax, eax
je 0x100b6ee4
mov esi, eax
push 0x6a0
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 4], esi
mov dword [eax + 8], 0x1024a238
mov dword [eax], 2
cmp byte [esp + 0x68], 2
jne 0x100b394b
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp edx, 0xbb8
jae 0x100b4646
lea ecx, [esp + 0x1a20]
call fcn.10097da0
jmp 0x100b200b
cmp eax, 6
jne 0x100b4209
mov edx, dword [ecx + 0xc]
test edx, edx
mov dword [esp + 0xc], edx
je 0x100b499b
lea eax, [edx + edx*8]
xor ebx, ebx
lea edi, [eax + eax*2]
add edi, edx
cmp edi, 0x8000000c
setb al
test edx, edx
js 0x100b6f8d
cmp edi, 0x8000000c
jae 0x100b6f8d
mov bl, al
mov eax, dword [0x103564a0]
mov esi, dword [ecx + 4]
shl ebx, 2
movzx eax, byte [eax]
push ebx
mov dword [esp + 0x14], edi
push edi
call fcn.10001510
add esp, 8
test eax, eax
je 0x100b6f99
mov ecx, dword [esp + 0xc]
mov edi, eax
xor ebx, ebx
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], ecx
mov dword [esp + 0x228], 0
lea ecx, [esp + 0x1a20]
mov edx, esi
call fcn.100b09a0
mov eax, dword [esp + 0x1a38]
inc ebx
add esi, 0x1c
mov dword [edi + 0x18], eax
movsd xmm0, qword [esp + 0x1a30]
movsd qword [edi + 0x10], xmm0
movsd xmm0, qword [esp + 0x1a20]
movsd xmm1, qword [esp + 0x1a28]
movsd qword [edi + 8], xmm1
movsd qword [edi], xmm0
add edi, 0x1c
cmp dword [esp + 0xc], ebx
jne 0x100b44df
jmp 0x100b49b1
push dword [esp + 0x10]
push edi
push 1
lea ebx, [esp + 0xcdc]
push ebx
call fcn.100626e0
add esp, 0x10
lea esi, [esp + 0x2058]
push ebx
push esi
call fcn.10062d80
add esp, 8
movzx eax, byte [esp + 0x205c]
movsd xmm1, qword [esp + 0x2068]
mov edx, dword [esp + 0x2080]
movsd xmm0, qword [esp + 0x2060]
movsd xmm2, qword [esp + 0x2070]
mov esi, dword [esp + 0x2058]
movzx ecx, word [esp + 0x205e]
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0x205d]
movsd qword [esp + 0x228], xmm1
movsd xmm1, qword [esp + 0x2078]
cmp edx, 2
movsd qword [esp + 0x220], xmm0
movsd qword [esp + 0x230], xmm2
mov byte [esp + 0x1c], al
movsd qword [esp + 0x238], xmm1
jne 0x100b473d
cmp byte [esp + 0x51], 0
je 0x100b5593
mov dword [esp + 0x220], 0x2020200
lea eax, [esp + 0x220]
push eax
lea esi, [esp + 0x205c]
push esi
call fcn.10014d10
add esp, 8
cmp byte [esp + 0x2080], 0
lea eax, [esp + 0x205c]
jne 0x100b521e
cmp dword [esp + 0x2064], 0x80
jb 0x100b5210
mov byte [esp + 0x2080], 1
push eax
call fcn.10016e00
add esp, 4
jmp 0x100b521e
mov ecx, dword [esp + 0x1a20]
test ecx, ecx
je 0x100b200b
mov esi, dword [esp + 0x1a28]
mov eax, dword [esp + 0x1a24]
mov dword [esp + 0x2560], ecx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov byte [esp + 0x2069], 1
mov dword [esp + 0x205c], 0x1010000
mov dword [esp + 0x2058], 2
mov byte [esp + 0x2064], 1
mov word [esp + 0x2062], 0
mov dword [esp + 0x2065], 1
cmp esi, 0x1f5
mov dword [esp + 0x2564], eax
lea eax, [esp + 0x2067]
mov dword [esp + 0x2568], esi
mov dword [esp + 0x30], esi
adc cl, 1
mov byte [esp + 0x2060], cl
mov byte [esp + 0x2061], 0
push eax
lea eax, [esp + 0x63c]
push eax
call fcn.10011fd0
add esp, 8
mov bh, byte [esp + 0x7d5]
mov esi, dword [esp + 0x640]
mov edx, dword [esp + 0x638]
mov ecx, dword [esp + 0x63c]
movzx eax, byte [esp + 0x644]
mov bl, byte [esp + 0x645]
movzx edi, word [esp + 0x646]
cmp bh, 2
mov dword [esp + 0xc], esi
jne 0x100b4af1
mov word [esp + 0x10], di
mov dword [esp + 0x30], eax
mov esi, edx
jmp 0x100b592e
movsd xmm2, qword [esp + 0x238]
movsd xmm1, qword [esp + 0x230]
mov eax, edx
mov edx, dword [esp + 0x2084]
movsd xmm0, qword [esp + 0x2088]
mov ebx, dword [esp + 0x90]
mov edi, ecx
mov dword [esp + 0x58], eax
movsd qword [esp + 0xe0], xmm2
movsd qword [esp + 0xd8], xmm1
movsd xmm2, qword [esp + 0x220]
movsd xmm1, qword [esp + 0x228]
mov dword [esp + 0x7c], edx
mov dl, 3
movaps xmmword [esp + 0x120], xmm0
mov dword [esp + 0x18], edx
movsd qword [esp + 0xd0], xmm1
movsd qword [esp + 0xc8], xmm2
jmp 0x100b5b35
mov esi, dword [esp + 0x27f0]
test esi, esi
je 0x100b4979
lea ebx, [edi + 4]
jmp 0x100b495e
add ebx, 0x10
dec esi
je 0x100b4979
cmp dword [ebx], 0
je 0x100b4958
push dword [ebx - 4]
push 0
mov eax, dword [0x1035648c]
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp + 8]
jmp 0x100b4958
cmp dword [esp + 0x27ec], 0
je 0x100b4434
mov eax, dword [0x1035648c]
push edi
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b3961
mov dword [esp + 0x220], 4
mov dword [esp + 0x224], 0
movsd xmm0, qword [esp + 0x220]
mov eax, dword [esp + 0xc]
mov bl, 1
movsd qword [esp + 0x1798], xmm0
mov dword [esp + 0x17a0], eax
lea eax, [esp + 0x1798]
push eax
lea esi, [esp + 0x1a24]
push esi
call fcn.10106a40
add esp, 8
lea eax, [esp + 0x220]
push esi
push eax
call fcn.101063c0
add esp, 8
cmp word [esp + 0x220], 6
jne 0x100b4ae0
mov esi, dword [esp + 0x224]
test esi, esi
je 0x100b4209
mov edx, dword [esp + 0x22c]
mov eax, dword [esp + 0x228]
mov dword [esp + 0x1658], esi
cmp edx, 2
mov dword [esp + 0x165c], eax
mov dword [esp + 0x1660], edx
jb 0x100b51e7
mov eax, 1
mov ebx, 0x1c
mov dword [esp + 0x10], edx
jmp 0x100b4a67
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
add ebx, 0x1c
inc eax
cmp edx, eax
je 0x100b51d9
mov esi, dword [esp + 0x1660]
mov dword [esp + 0xc], eax
cmp esi, eax
jbe 0x100b6c66
mov edi, dword [esp + 0x1658]
add edi, ebx
lea ecx, [esp + 0x1a20]
mov edx, edi
call fcn.100b0870
cmp byte [esp + 0x1a28], 2
je 0x100b4a53
mov eax, dword [esp + 0x1a28]
movsd xmm0, qword [esp + 0x1a20]
test al, al
mov dword [esp + 0x4b0], eax
movsd qword [esp + 0x4a8], xmm0
jne 0x100b5a89
mov ecx, dword [esp + 0x4a8]
lock dec dword [ecx]
jne 0x100b4a53
mov edx, dword [esp + 0x4ac]
call fcn.10099a10
jmp 0x100b4a53
lea ecx, [esp + 0x220]
call fcn.10095bd0
jmp 0x100b4209
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x648]
mov esi, eax
lea eax, [esp + 0xce8]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x64c]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x650]
push 0x185
push ecx
push eax
mov dword [esp + 0x28], edx
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x7d6]
lea ecx, [esp + 0xe6e]
push 0x14a
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xcd0], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xcd4], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcd8], eax
mov eax, esi
mov byte [esp + 0xcdc], al
mov eax, dword [esp + 0x24]
mov byte [esp + 0xcdd], bl
mov word [esp + 0xcde], di
mov dword [esp + 0xce4], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xce0], eax
mov byte [esp + 0xe6d], bh
lea eax, [esp + 0xcd0]
push 0
push eax
lea eax, [esp + 0x640]
push eax
call fcn.10013c10
add esp, 0xc
mov esi, dword [esp + 0x638]
cmp esi, 3
jne 0x100b58dd
push 0
lea eax, [esp + 0xcd4]
push eax
lea eax, [esp + 0x640]
push eax
call fcn.10013c10
add esp, 0xc
mov esi, dword [esp + 0x638]
cmp esi, 3
jne 0x100b58dd
push 0
lea eax, [esp + 0xcd4]
push eax
lea eax, [esp + 0x640]
push eax
call fcn.10013c10
add esp, 0xc
mov eax, dword [esp + 0x638]
cmp eax, 3
jne 0x100b58db
mov eax, dword [esp + 0x63c]
mov dword [esp + 0xfa8], eax
push 0
lea eax, [esp + 0xcd4]
push eax
lea eax, [esp + 0x640]
push eax
call fcn.10013c10
add esp, 0xc
mov eax, dword [esp + 0x638]
cmp eax, 3
jne 0x100b58db
mov eax, dword [esp + 0x63c]
mov dword [esp + 0xfac], eax
lea eax, [esp + 0xcd0]
push eax
call fcn.10013340
add esp, 4
cmp dword [esp + 0x30], 0
je 0x100b4fb0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], 0
lea eax, [eax + eax*2]
lea eax, [ecx + eax*4]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x220], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
cmp eax, 0x7fffffff
mov dword [esp + 0xc], eax
jae 0x100b6c54
mov ecx, dword [esp + 0xf98]
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x2c]
cmp ecx, edx
mov edi, dword [eax]
mov eax, dword [esp + 0xe88]
cmovae ecx, edx
mov dword [esp + 0xf98], ecx
mov ecx, dword [esp + 0xf9c]
mov dword [esp + 0x2a70], eax
cmp ecx, edx
cmovbe ecx, edx
cmp dword [esp + 0x18], eax
mov dword [esp + 0xf9c], ecx
jne 0x100b6fad
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0xe84]
lea eax, [ecx + 1]
mov dword [esp + 0x28], eax
jne 0x100b4d31
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xe80]
call fcn.1009a620
mov ecx, dword [esp + 0xe88]
lea eax, [ecx + 1]
mov edx, dword [esp + 0xe80]
mov esi, dword [esp + 0xc]
mov dword [edx + ecx*4], esi
mov dword [esp + 0xe88], eax
mov eax, dword [esp + 0xe70]
cmp byte [eax], 0
je 0x100b4d64
push esi
push edi
lea eax, [esp + 0xcf8]
push eax
call fcn.10018520
add esp, 0xc
mov eax, dword [esp + 0xfa8]
test esi, esi
mov dword [esp + 0x30], eax
je 0x100b4f51
add dword [esp + 0xc], edi
mov esi, edi
mov dword [esp + 0x10], 0
mov dword [esp + 0x1c], 0
jmp 0x100b4dc0
or bl, 0x20
mov eax, ebx
add esi, dword [esp + 0xe74]
movzx eax, al
push edi
push eax
push esi
call fcn.10011c70
add esp, 0xc
mov esi, dword [esp + 0x24]
inc dword [esp + 0x1c]
mov dword [esp + 0x30], edi
inc esi
cmp esi, dword [esp + 0xc]
je 0x100b4f55
movzx ebx, byte [esi]
test byte [esp + 0x10], 1
mov edi, dword [esp + 0x30]
mov al, 1
jne 0x100b4df3
mov eax, dword [esp + 0xe7c]
cmp edi, eax
jae 0x100b6f06
mov eax, dword [esp + 0xe74]
mov ecx, edi
shl ecx, 5
cmp dword [eax + ecx + 0x14], 0
setne al
test al, al
mov dword [esp + 0x10], eax
je 0x100b4e0c
mov eax, dword [esp + 0xe70]
cmp byte [eax + 2], 1
je 0x100b4f93
push ebx
push ebx
lea eax, [esp + 0xcd8]
push eax
call fcn.10017520
add esp, 0xc
mov eax, dword [esp + 0xe70]
cmp byte [eax + 1], 0
je 0x100b4e5f
mov eax, ebx
add al, 0xbf
cmp al, 0x1a
jae 0x100b4e39
mov eax, ebx
or al, 0x20
jmp 0x100b4e4a
mov eax, ebx
mov ecx, ebx
add al, 0x9f
xor cl, 0x20
cmp al, 0x1a
movzx eax, cl
cmovae eax, ebx
movzx eax, al
push eax
push eax
lea eax, [esp + 0xcd8]
push eax
call fcn.10017520
add esp, 0xc
mov eax, dword [esp + 0xe7c]
cmp edi, eax
jae 0x100b6ef8
mov ecx, dword [esp + 0xe74]
mov dword [esp + 0x24], esi
mov esi, edi
shl esi, 5
mov eax, dword [ecx + esi]
mov ecx, dword [ecx + esi + 8]
cmp ecx, 0x100
jne 0x100b4e93
lea edx, [eax + ebx*8 + 4]
jmp 0x100b4eaa
add eax, 0xfffffffc
shl ecx, 3
test ecx, ecx
je 0x100b4eb5
add ecx, 0xfffffff8
cmp byte [eax + 4], bl
lea edx, [eax + 8]
mov eax, edx
jne 0x100b4e99
mov edi, dword [edx]
cmp edi, 1
jne 0x100b4da9
push dword [esp + 0x1c]
lea eax, [esp + 0xcd4]
push eax
lea eax, [esp + 0x640]
push eax
call fcn.10013c10
add esp, 0xc
mov ecx, dword [esp + 0x638]
mov edi, dword [esp + 0x63c]
cmp ecx, 3
jne 0x100b6803
mov eax, dword [esp + 0xe7c]
cmp dword [esp + 0x30], eax
jae 0x100b6eff
mov eax, dword [esp + 0xe74]
add eax, esi
push edi
push ebx
push eax
call fcn.10011c70
add esp, 0xc
mov eax, dword [esp + 0xe70]
cmp byte [eax + 1], 0
je 0x100b4da9
mov eax, dword [esp + 0xe7c]
cmp dword [esp + 0x30], eax
jae 0x100b6f36
mov eax, ebx
add al, 0xbf
cmp al, 0x1a
jb 0x100b4d8f
mov eax, ebx
mov ecx, ebx
add al, 0x9f
xor cl, 0x20
cmp al, 0x1a
movzx eax, cl
cmovae eax, ebx
jmp 0x100b4d94
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0xe7c]
cmp edi, eax
jae 0x100b6f6b
mov eax, dword [esp + 0xe74]
shl edi, 5
mov edx, dword [eax + edi + 0x14]
lea esi, [eax + edi + 0xc]
cmp edx, dword [eax + edi + 0x10]
jne 0x100b4f86
mov ecx, esi
call fcn.1009a620
mov edx, dword [esi + 8]
mov eax, dword [esi]
mov ecx, dword [esp + 0x18]
mov dword [eax + edx*4], ecx
inc edx
mov dword [esi + 8], edx
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
add eax, 0xc
mov dword [esp + 0x18], ecx
cmp eax, dword [esp + 0x58]
mov dword [esp + 0x2c], eax
jne 0x100b4c9a
lea eax, [esp + 0xcd0]
push eax
call fcn.100134a0
add esp, 4
lea eax, [esp + 0xcd0]
push eax
call fcn.10013630
add esp, 4
lea eax, [esp + 0xcd0]
push eax
call fcn.10013990
add esp, 4
lea eax, [esp + 0xcd0]
push eax
call fcn.100123b0
add esp, 4
lea eax, [esp + 0xcd0]
push eax
call fcn.100137d0
add esp, 4
lea eax, [esp + 0xcd0]
push eax
call fcn.10012ab0
add esp, 4
lea eax, [esp + 0xcd0]
push eax
lea eax, [esp + 0x63c]
push eax
call fcn.10017680
add esp, 8
lea eax, [esp + 0xe98]
push 0x100
lea esi, [esp + 0x63c]
push esi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0xcf0]
push eax
push esi
call fcn.10017b70
add esp, 8
mov ecx, dword [esp + 0xe8c]
lea esi, [esp + 0xe8c]
test ecx, ecx
je 0x100b5079
lock dec dword [ecx]
jne 0x100b5079
mov edx, dword [esp + 0xe90]
call fcn.10099980
mov eax, dword [esp + 0x640]
movsd xmm0, qword [esp + 0x638]
mov dword [esi + 8], eax
movsd qword [esi], xmm0
lea eax, [esp + 0xcd0]
push eax
call fcn.10013d50
add esp, 4
mov esi, dword [esp + 0xe8c]
xor eax, eax
test esi, esi
setne al
mov eax, dword [esp + eax*8 + 0xfa4]
mov dword [esp + 0xfa0], eax
mov eax, dword [esp + 0xe7c]
mov edi, dword [esp + 0xe80]
mov ebx, dword [esp + 0xe84]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xe88]
mov dword [esp + 0x30], eax
lea eax, [esp + 0xe90]
push 0x128
push eax
lea eax, [esp + 0x640]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0xe74]
movsd qword [esp + 0x10], xmm0
lea ecx, [esp + 0xcf0]
call fcn.10096fa0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1a2c], edi
mov dword [esp + 0x1a30], ebx
movsd xmm0, qword [esp + 0x10]
mov dword [esp + 0x1a38], esi
mov dword [esp + 0x1a34], eax
mov eax, dword [esp + 0xc]
movsd qword [esp + 0x1a20], xmm0
mov dword [esp + 0x1a28], eax
lea eax, [esp + 0x1a3c]
push 0x128
lea ecx, [esp + 0x63c]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x2060]
cmp eax, 3
jne 0x100b6836
push 0x144
lea eax, [esp + 0x1a24]
push eax
lea esi, [esp + 0xcd8]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x2058]
lea ecx, [esp + 0x220]
push esi
push eax
push ecx
call fcn.10007120
add esp, 0xc
mov eax, dword [esp + 0x224]
mov ecx, dword [esp + 0x220]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x228]
mov dword [esp + 0x30], eax
jmp 0x100b6cfb
mov esi, dword [esp + 0x1658]
mov edx, dword [esp + 0x1660]
mov ecx, esi
call fcn.10096100
cmp dword [esp + 0x165c], 0
je 0x100b4209
mov eax, dword [0x1035648c]
push esi
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b4209
push dword [esp + 0x10]
push edi
push eax
call fcn.10016cc0
add esp, 0xc
push esi
push ebx
call fcn.10014dc0
add esp, 8
movzx ecx, byte [esp + 0xd10]
mov dword [esp + 0x54], edi
cmp cl, 2
jne 0x100b527f
mov edi, dword [esp + 0x2064]
mov eax, dword [esp + 0x205c]
test edi, edi
mov dword [esp + 0x18], eax
je 0x100b537a
mov eax, dword [esp + 0x18]
mov esi, dword [0x1035648c]
lea ebx, [eax + 4]
jmp 0x100b526c
add ebx, 0xc
dec edi
je 0x100b537a
cmp dword [ebx], 0
je 0x100b5262
push dword [ebx - 4]
push 0
push dword [esi]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b5262
movsd xmm1, qword [esp + 0xd00]
movsd xmm2, qword [esp + 0xcf8]
movsd xmm0, qword [esp + 0xd08]
movzx eax, word [esp + 0xd11]
movzx edx, byte [esp + 0xd13]
mov edi, dword [esp + 0x2064]
mov byte [esp + 0x94], cl
movsd qword [esp + 0x17c8], xmm1
movsd xmm1, qword [esp + 0xcf0]
movsd qword [esp + 0x17c0], xmm2
movsd xmm2, qword [esp + 0xce8]
movsd qword [esp + 0x17d0], xmm0
test edi, edi
movsd qword [esp + 0x17b8], xmm1
movsd xmm1, qword [esp + 0xce0]
movsd qword [esp + 0x17b0], xmm2
movsd xmm2, qword [esp + 0xcd0]
movsd qword [esp + 0x17a8], xmm1
movsd xmm1, qword [esp + 0xcd8]
movsd qword [esp + 0x1798], xmm2
movsd qword [esp + 0x17a0], xmm1
mov word [esp + 0x17d9], ax
mov byte [esp + 0x17db], dl
mov byte [esp + 0x17d8], cl
mov ecx, dword [esp + 0x205c]
mov dword [esp + 0x18], ecx
je 0x100b53be
mov eax, dword [esp + 0x18]
mov esi, dword [0x1035648c]
lea ebx, [eax + 4]
jmp 0x100b5367
add ebx, 0xc
dec edi
je 0x100b53be
cmp dword [ebx], 0
je 0x100b5361
push dword [ebx - 4]
push 0
push dword [esi]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b5361
cmp dword [esp + 0x2060], 0
je 0x100b5396
mov eax, dword [0x1035648c]
push dword [esp + 0x18]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x206c], 0
je 0x100b558f
mov eax, dword [0x1035648c]
push dword [esp + 0x2068]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b558f
cmp dword [esp + 0x2060], 0
je 0x100b53da
mov eax, dword [0x1035648c]
push dword [esp + 0x18]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp dword [esp + 0x206c], 0
je 0x100b53f9
mov eax, dword [0x1035648c]
push dword [esp + 0x2068]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov byte [esp + 0x13e], 1
mov word [esp + 0x13c], 0
mov word [esp + 0x13f], 0x201
lea edi, [esp + 0x13c]
lea ecx, [esp + 0x2058]
mov edx, edi
push dword [esp + 0x10]
push dword [esp + 0x58]
call fcn.1008b260
add esp, 8
cmp dword [esp + 0x2058], 0
jne 0x100b557f
push 0x144
lea eax, [esp + 0x2060]
push eax
lea esi, [esp + 0x228]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
push esi
push edi
lea eax, [esp + 0xcd8]
push eax
call fcn.1000d330
add esp, 0xc
lea eax, [esp + 0x220]
push eax
call fcn.10096eb0
add esp, 4
cmp dword [esp + 0xcd0], 0
jne 0x100b557f
movzx eax, byte [esp + 0xcd8]
movsd xmm2, qword [esp + 0xce4]
movsd xmm1, qword [esp + 0xcec]
mov esi, dword [esp + 0xcd4]
movsd xmm0, qword [esp + 0xcdc]
mov dword [esp + 0x90], eax
movzx eax, byte [esp + 0xcd9]
movsd qword [esp + 0x188], xmm2
movsd qword [esp + 0x190], xmm1
movsd xmm2, qword [esp + 0xcf4]
movsd xmm1, qword [esp + 0xd04]
movsd qword [esp + 0x180], xmm0
mov byte [esp + 0x1c], al
movzx eax, word [esp + 0xcda]
movsd qword [esp + 0x198], xmm2
movaps xmmword [esp + 0x120], xmm1
mov word [esp + 0x52], ax
mov eax, dword [esp + 0xcfc]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xd00]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0xd0c]
lea edi, [esp + 0x2560]
push 0x120
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx ecx, byte [esp + 0xe2c]
movzx eax, word [esp + 0xe2d]
movzx edx, byte [esp + 0xe2f]
cmp cl, 3
mov word [esp + 0x251c], ax
mov byte [esp + 0x251e], dl
mov byte [esp + 0x5c], cl
jne 0x100b6167
lea eax, [esp + 0x1798]
push eax
call fcn.100967c0
add esp, 4
mov edi, dword [esp + 0x54]
cmp byte [esp + 0x51], 0
lea edx, [esp + 0x17a7]
mov dword [esp + 0x179c], 0x1000000
mov dword [esp + 0x1798], 2
mov dword [esp + 0x17a5], 1
mov dword [esp + 0x17a0], 2
setne byte [esp + 0x17a9]
setne byte [esp + 0x179e]
setne byte [esp + 0x17a4]
lea ecx, [esp + 0xcd0]
push dword [esp + 0x10]
push edi
call fcn.1008b260
add esp, 8
cmp dword [esp + 0xcd0], 0
je 0x100b5667
mov eax, dword [esp + 0xce0]
movzx edx, byte [esp + 0xce5]
movzx ecx, word [esp + 0xce6]
mov esi, dword [esp + 0xcd8]
mov edi, dword [esp + 0xcdc]
movzx ebx, byte [esp + 0xce4]
mov dword [esp + 0x54], eax
mov byte [esp + 0x1c], dl
mov word [esp + 0x52], cx
cmp esi, 3
jne 0x100b5d11
cmp byte [esp + 0x1c], 3
je 0x100b5d11
mov esi, dword [esp + 0x54]
mov al, 6
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], eax
movzx edi, word [esp + 0x52]
jmp 0x100b5b35
mov esi, dword [esp + 0xcec]
mov ebx, dword [esp + 0xce4]
mov edi, dword [esp + 0xce8]
lea eax, [esp + 0x23c]
lea ecx, [esp + 0xcf0]
push 0x128
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x17a0]
movsd xmm0, qword [esp + 0xcd4]
movsd xmm1, qword [esp + 0xcdc]
cmp eax, 3
movsd qword [esp + 0x220], xmm0
movsd qword [esp + 0x228], xmm1
mov dword [esp + 0x230], ebx
mov dword [esp + 0x238], esi
mov dword [esp + 0x234], edi
jne 0x100b5734
lea eax, [esp + 0x220]
push 0x144
push eax
lea esi, [esp + 0xcd8]
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x1798]
lea ecx, [esp + 0x180]
push esi
push eax
push ecx
call fcn.10007120
add esp, 0xc
mov eax, dword [esp + 0x180]
mov esi, dword [esp + 0x184]
movzx ebx, byte [esp + 0x188]
mov dword [esp + 0x10], eax
jmp 0x100b5b23
test eax, eax
je 0x100b5aad
cmp eax, 1
jne 0x100b5fb9
lea eax, [esp + 0x220]
lea ecx, [esp + 0x1798]
push eax
push ecx
lea eax, [esp + 0x2060]
push eax
call fcn.100108d0
add esp, 0xc
movzx eax, byte [esp + 0x219c]
movzx edx, byte [esp + 0x2065]
movzx ecx, word [esp + 0x2066]
mov esi, dword [esp + 0x2058]
mov edi, dword [esp + 0x205c]
movzx ebx, byte [esp + 0x2064]
cmp al, 3
mov byte [esp + 0x10], al
mov eax, dword [esp + 0x2060]
mov byte [esp + 0x1c], dl
mov word [esp + 0x52], cx
mov dword [esp + 0x54], eax
je 0x100b6021
mov eax, dword [esp + 0x2068]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x206c]
mov dword [esp + 0x28], eax
lea eax, [esp + 0x2070]
lea ecx, [esp + 0x2560]
push 0x12c
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0x219d]
mov word [esp + 0xe1d], ax
movzx eax, byte [esp + 0x219f]
mov byte [esp + 0xe1f], al
mov eax, dword [esp + 0x54]
mov dword [esp + 0xcd8], esi
mov dword [esp + 0xcdc], edi
mov dword [esp + 0xce0], eax
movzx eax, byte [esp + 0x1c]
mov byte [esp + 0xce4], bl
mov byte [esp + 0xce5], al
movzx eax, word [esp + 0x52]
mov word [esp + 0xce6], ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xcec], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xce8], eax
push 0x12c
lea eax, [esp + 0x2564]
push eax
lea eax, [esp + 0xcf8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x10]
mov byte [esp + 0xe1c], al
mov eax, dword [0x103564a0]
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
push 4
push 0x150
call fcn.10001510
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je 0x100b7048
push 0x150
lea eax, [esp + 0xcd4]
push eax
push dword [esp + 0x18]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, 0x1024825c
mov bl, 1
jmp 0x100b6146
mov esi, eax
mov eax, dword [esp + 0x640]
movzx ecx, word [esp + 0x646]
mov edi, dword [esp + 0x63c]
movzx ebx, byte [esp + 0x645]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x644]
mov word [esp + 0x10], cx
mov dword [esp + 0x30], eax
lea ecx, [esp + 0xcf0]
call fcn.10096fa0
lea eax, [esp + 0xe74]
push eax
call fcn.10096eb0
add esp, 4
mov ecx, edi
cmp esi, 3
jne 0x100b5a0c
cmp bl, 3
je 0x100b5a0c
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcd0], ecx
mov dword [esp + 0xcd4], eax
mov eax, dword [esp + 0x30]
mov byte [esp + 0xcd8], al
movzx eax, word [esp + 0x10]
mov byte [esp + 0xcd9], bl
mov word [esp + 0xcda], ax
lea ecx, [esp + 0xcd0]
call fcn.100b7cb0
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x2560]
mov ebx, dword [esp + 0x2568]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
test ebx, ebx
je 0x100b59c5
mov ecx, dword [esp + 0xc]
mov edi, dword [0x1035648c]
lea esi, [ecx + 4]
jmp 0x100b59af
add esi, 0xc
dec ebx
je 0x100b59c5
cmp dword [esi], 0
je 0x100b59a9
push dword [esi - 4]
push 0
push dword [edi]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp + 8]
jmp 0x100b59a9
cmp dword [esp + 0x2564], 0
je 0x100b59e4
mov eax, dword [0x1035648c]
push dword [esp + 0xc]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
mov eax, dword [ebp + 8]
mov ecx, dword [esp + 0x30]
mov edi, dword [esp + 0x27e8]
mov dword [eax + 4], ecx
mov dword [eax + 8], 0x1024a3a0
test edi, edi
mov dword [eax], 2
jne 0x100b4948
jmp 0x100b4434
mov edi, dword [esp + 0x2568]
mov eax, dword [esp + 0x2560]
test edi, edi
mov dword [esp + 0xc], eax
je 0x100b5a4a
mov eax, dword [esp + 0xc]
mov esi, dword [0x1035648c]
lea ebx, [eax + 4]
jmp 0x100b5a37
add ebx, 0xc
dec edi
je 0x100b5a4a
cmp dword [ebx], 0
je 0x100b5a31
push dword [ebx - 4]
push 0
push dword [esi]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b5a31
cmp dword [esp + 0x2564], 0
mov esi, dword [esp + 0x20]
je 0x100b200b
mov eax, dword [0x1035648c]
push dword [esp + 0xc]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
jmp 0x100b200b
push 0x10249f54
push 0
push 0
call fcn.10026930
add esp, 0xc
jmp 0x100b70ac
mov ebx, esi
sub ebx, dword [esp + 0xc]
jb 0x100b700f
jne 0x100b6036
lea eax, [ebx + ebx*8]
mov ecx, 4
lea esi, [eax + eax*2]
add esi, ebx
jmp 0x100b62af
lea eax, [esp + 0xcd8]
lea ecx, [esp + 0x220]
push 0x144
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x103564a0]
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
push 4
push 0x14c
call fcn.10001510
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je 0x100b7021
push 0x14c
lea eax, [esp + 0xcd4]
push eax
push dword [esp + 0x18]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, 0x102481d8
xor ebx, ebx
movzx eax, byte [esp + 0x17a1]
mov byte [esp + 0x1c], al
mov al, 6
mov dword [esp + 0x18], eax
movsd xmm1, qword [esp + 0xd8]
movsd xmm0, qword [esp + 0xe0]
movsd xmm2, qword [esp + 0xc8]
lea eax, [esp + 0xd10]
movsd qword [esp + 0xcf0], xmm1
movsd xmm1, qword [esp + 0xd0]
movsd qword [esp + 0xcf8], xmm0
movsd qword [esp + 0xce0], xmm2
movsd qword [esp + 0xce8], xmm1
lea ecx, [esp + 0x27e8]
push 0x120
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x5c]
movsd xmm0, qword [esp + 0x1658]
movsd xmm1, qword [esp + 0x1660]
mov byte [esp + 0xe30], al
movzx eax, word [esp + 0xb0]
mov word [esp + 0xe31], ax
movzx eax, byte [esp + 0xb2]
mov byte [esp + 0xe33], al
movsd qword [esp + 0xe34], xmm0
movsd xmm0, qword [esp + 0x1668]
movzx eax, byte [esp + 0x94]
movsd qword [esp + 0xe3c], xmm1
movsd qword [esp + 0xe44], xmm0
movsd xmm0, qword [esp + 0x1670]
movsd qword [esp + 0xe4c], xmm0
movsd xmm0, qword [esp + 0x1678]
movsd qword [esp + 0xe54], xmm0
movsd xmm0, qword [esp + 0x1680]
movsd qword [esp + 0xe5c], xmm0
movsd xmm0, qword [esp + 0x1688]
movsd qword [esp + 0xe64], xmm0
movsd xmm0, qword [esp + 0x1690]
movsd qword [esp + 0xe6c], xmm0
mov byte [esp + 0xe74], al
movzx eax, word [esp + 0x98]
movaps xmm0, xmmword [esp + 0x120]
mov word [esp + 0xe75], ax
movzx eax, byte [esp + 0x9a]
mov byte [esp + 0xe77], al
mov eax, dword [esp + 0x18]
mov byte [esp + 0xcd0], al
movzx eax, byte [esp + 0x28]
mov byte [esp + 0xcd1], al
mov eax, dword [esp + 0x10]
mov dword [esp + 0xcd4], eax
movzx eax, byte [esp + 0x1c]
mov dword [esp + 0xcd8], esi
mov byte [esp + 0xcdc], bl
mov byte [esp + 0xcdd], al
mov eax, dword [esp + 0x58]
mov word [esp + 0xcde], di
mov dword [esp + 0xd00], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xd04], eax
movlps qword [esp + 0xd08], xmm0
lea eax, [esp + 0x5f4]
lea ecx, [esp + 0xcd0]
push ecx
push eax
call fcn.100da9d0
add esp, 8
movzx eax, byte [esp + 0x5fc]
cmp al, 2
jne 0x100b5d7f
mov eax, dword [esp + 0x640]
lea edi, [esp + 0x4a8]
mov ecx, 0x11
lea esi, [esp + 0x644]
mov dword [esp + 0x1c], eax
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0x68c]
push eax
lea eax, [esp + 0x1a28]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov edi, dword [esp + 0xcc8]
mov esi, dword [esp + 0xccc]
mov eax, dword [esp + 0x1610]
mov dword [esp + 0x24], edi
mov dword [esp + 0x18], esi
mov dword [esp + 0x5c], eax
cmp dword [esp + 0x5c], 0
jne 0x100b4008
jmp 0x100b4057
mov ecx, dword [esp + 0x5f4]
movzx esi, word [esp + 0x5fd]
movzx edx, byte [esp + 0x5ff]
mov ebx, dword [esp + 0x5f8]
test al, al
mov dword [esp + 0x10], ecx
mov word [esp + 0x84], si
mov byte [esp + 0x86], dl
je 0x100b5f4f
mov eax, dword [esp + 0x640]
lea esi, [esp + 0x64c]
lea edi, [esp + 0x4a8]
mov ecx, 0x11
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x644]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x648]
mov dword [esp + 0x18], eax
lea eax, [esp + 0x690]
rep movsd dword es:[edi], dword [esi]
push 0x634
push eax
lea eax, [esp + 0x1a28]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xcc8]
movzx edx, word [esp + 0x84]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xccc]
mov word [esp + 0x1379], dx
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x86]
mov byte [esp + 0x137b], al
lea ecx, [esp + 0x1610]
call fcn.10096090
lea edi, [esp + 0xcec]
mov ecx, 0x11
lea esi, [esp + 0x4a8]
lea eax, [esp + 0xd30]
rep movsd dword es:[edi], dword [esi]
push 0x634
lea ecx, [esp + 0x1a24]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcdc], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xcd8], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xce4], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xce0], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xce8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x1364], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x136c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x1368], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1370], eax
mov eax, dword [0x103564a0]
mov dword [esp + 0x1374], ebx
mov byte [esp + 0x1378], 1
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
push 8
push 0x6b0
call fcn.10001510
add esp, 8
test eax, eax
je 0x100b6f79
mov esi, eax
push 0x6b0
lea eax, [esp + 0xcd4]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 4], esi
mov dword [eax + 8], 0x1024a190
jmp 0x100b4423
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x4a8]
mov ecx, 0x11
lea esi, [esp + 0x644]
mov ebx, dword [esp + 0x640]
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0x68c]
push eax
lea eax, [esp + 0x1a28]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0xcc8]
mov esi, dword [esp + 0xccc]
lock dec dword [ecx]
mov dword [esp + 0x1c], ebx
jne 0x100b5d5c
mov edx, dword [esp + 0x18]
call fcn.10099a10
jmp 0x100b5d5c
lea eax, [esp + 0x17a2]
lea ecx, [esp + 0x220]
push ecx
push eax
lea eax, [esp + 0x2060]
push eax
call fcn.1000d330
add esp, 0xc
cmp dword [esp + 0x2058], 0
je 0x100b6082
mov eax, dword [esp + 0x2068]
movzx edx, byte [esp + 0x206d]
movzx ecx, word [esp + 0x206e]
mov esi, dword [esp + 0x2060]
mov edi, dword [esp + 0x2064]
movzx ebx, byte [esp + 0x206c]
mov dword [esp + 0x54], eax
mov byte [esp + 0x1c], dl
mov word [esp + 0x52], cx
lea eax, [esp + 0x220]
push eax
call fcn.10096eb0
add esp, 4
jmp 0x100b563b
cmp ebx, 0x4924925
setb al
jae 0x100b7032
lea ecx, [ebx + ebx*8]
lea esi, [ecx + ecx*2]
xor ecx, ecx
mov cl, al
add esi, ebx
shl ecx, 2
test esi, esi
mov dword [esp + 0x10], ecx
js 0x100b7032
je 0x100b62a3
mov eax, dword [0x103564a0]
movzx eax, byte [eax]
push dword [esp + 0x10]
push esi
call fcn.10001510
add esp, 8
mov ecx, eax
jmp 0x100b62a7
mov esi, dword [esp + 0x2074]
mov ebx, dword [esp + 0x206c]
mov edi, dword [esp + 0x2070]
lea eax, [esp + 0x2078]
lea ecx, [esp + 0xcf4]
push 0x140
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x205c]
movsd xmm1, qword [esp + 0x2064]
mov eax, dword [0x103564a0]
movsd qword [esp + 0xcd8], xmm0
movsd qword [esp + 0xce0], xmm1
mov dword [esp + 0xce8], ebx
mov dword [esp + 0xcf0], esi
mov dword [esp + 0xcec], edi
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
push 4
push 0x164
call fcn.10001510
add esp, 8
test eax, eax
mov dword [esp + 0x10], eax
je 0x100b7059
push 0x164
lea eax, [esp + 0xcd4]
push eax
push dword [esp + 0x18]
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov esi, 0x102482e0
mov bl, 2
movzx eax, byte [esp + 0x17a1]
mov byte [esp + 0x1c], al
lea eax, [esp + 0x220]
push eax
call fcn.10096eb0
add esp, 4
jmp 0x100b5b2f
movsd xmm1, qword [esp + 0x190]
movsd xmm0, qword [esp + 0x198]
movsd xmm2, qword [esp + 0x180]
lea ebx, [esp + 0x17d9]
movsd qword [esp + 0xd8], xmm1
movsd xmm1, qword [esp + 0x188]
movsd qword [esp + 0xe0], xmm0
movsd qword [esp + 0xc8], xmm2
movsd qword [esp + 0xd0], xmm1
lea eax, [esp + 0x27e8]
push 0x120
push edi
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0x251c]
movsd xmm1, qword [esp + 0x17c8]
movsd xmm2, qword [esp + 0x17c0]
movsd xmm0, qword [esp + 0x17d0]
mov word [esp + 0xb0], ax
movzx eax, byte [esp + 0x251e]
movsd qword [esp + 0x1688], xmm1
movsd xmm1, qword [esp + 0x17b8]
movsd qword [esp + 0x1680], xmm2
movsd xmm2, qword [esp + 0x17b0]
movsd qword [esp + 0x1690], xmm0
mov byte [esp + 0xb2], al
movzx eax, byte [ebx + 2]
movsd qword [esp + 0x1678], xmm1
movsd xmm1, qword [esp + 0x17a8]
movsd qword [esp + 0x1670], xmm2
movsd xmm2, qword [esp + 0x1798]
mov byte [esp + 0x9a], al
movzx eax, word [ebx]
movsd qword [esp + 0x1668], xmm1
movsd xmm1, qword [esp + 0x17a0]
mov ebx, dword [esp + 0x90]
movsd qword [esp + 0x1658], xmm2
mov word [esp + 0x98], ax
mov al, 4
movsd qword [esp + 0x1660], xmm1
mov dword [esp + 0x18], eax
jmp 0x100b565d
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x100b7039
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1660], eax
push esi
push edi
mov esi, ecx
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0x1a20], esi
mov dword [esp + 0x1a24], ebx
mov dword [esp + 0x1a28], ebx
lea eax, [esp + 0x1a20]
push eax
lea eax, [esp + 0x224]
push eax
call fcn.10106a40
add esp, 8
mov eax, dword [esp + 0x1660]
movsd xmm0, qword [esp + 0x1658]
mov dword [esp + 0x17a0], eax
movsd qword [esp + 0x1798], xmm0
lea eax, [esp + 0x1798]
push eax
lea eax, [esp + 0x1a24]
push eax
call fcn.10106a40
add esp, 8
mov al, 1
mov dword [esp + 0xc], eax
lea edi, [esp + 0x220]
lea ecx, [esp + 0x1798]
mov edx, edi
call fcn.100b0870
movzx eax, byte [esp + 0x17a0]
cmp al, 2
sete byte [esp + 0x10]
jne 0x100b6370
mov ecx, dword [esp + 0x4a8]
mov edx, dword [esp + 0x4ac]
mov dword [esp + 0xc], 0
jmp 0x100b6397
mov ecx, dword [esp + 0x1798]
mov edx, dword [esp + 0x179c]
mov bl, 1
test al, al
mov dword [esp + 0xc], ebx
je 0x100b67b1
lea eax, [esp + 0x17a1]
mov dword [esp + 0x30], eax
mov esi, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x18], edx
movzx eax, byte [esi + 2]
movzx esi, word [esi]
mov byte [esp + 0xca], al
mov word [esp + 0xc8], si
movzx eax, word [esp + 0x1a3a]
movsd xmm0, qword [esp + 0x1a22]
movsd xmm2, qword [esp + 0x1a2a]
movsd xmm1, qword [esp + 0x1a32]
movzx esi, word [esp + 0x1a20]
mov word [esp + 0x2800], ax
movzx eax, word [esp + 0xc8]
movsd qword [esp + 0x27e8], xmm0
movsd qword [esp + 0x27f0], xmm2
movsd qword [esp + 0x27f8], xmm1
mov word [esp + 0x5f4], ax
movzx eax, byte [esp + 0xca]
mov byte [esp + 0x5f6], al
push edi
call fcn.1010b060
add esp, 4
lea ecx, [esp + 0x220]
call fcn.10095bd0
mov eax, dword [0x1035648c]
push dword [esp + 0x238]
push 0
push dword [eax]
call sub.KERNEL32.dll_HeapFree
cmp byte [esp + 0x10], 0
jne 0x100b6471
mov ecx, dword [esp + 0x4a8]
lock dec dword [ecx]
jne 0x100b6471
mov edx, dword [esp + 0x4ac]
xor ebx, ebx
call fcn.10099a10
cmp si, 8
je 0x100b4209
movzx eax, word [esp + 0x2800]
movsd xmm0, qword [esp + 0x27f8]
movsd xmm1, qword [esp + 0x27f0]
mov word [esp + 0x17b2], ax
movzx eax, byte [esp + 0x5f6]
movsd qword [esp + 0x17aa], xmm0
movsd xmm0, qword [esp + 0x27e8]
movsd qword [esp + 0x17a2], xmm1
mov byte [esp + 0x4b3], al
movzx eax, word [esp + 0x5f4]
movsd qword [esp + 0x179a], xmm0
mov word [esp + 0x1798], si
mov word [esp + 0x4b1], ax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x4a8], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x4ac], eax
mov eax, dword [esp + 0x20]
mov byte [esp + 0x4b0], 1
movzx ecx, byte [eax + 0x3f]
mov bh, byte [eax + 0x3c]
mov bl, byte [eax + 0x3d]
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0x14]
mov byte [esp + 0xc], cl
lea eax, [esp + 0x1a20]
push eax
call fcn.100c8bf0
add esp, 4
cmp edi, 2
mov eax, 1
mov ecx, 0xa00000
movzx edx, bl
cmovne eax, edi
cmove esi, ecx
test bh, bh
mov ecx, 0xa
cmovne ecx, edx
cmp byte [esp + 0xc], 0
mov dword [esp + 0x1a20], eax
lea eax, [esp + 0x1798]
mov dword [esp + 0x1a24], esi
mov byte [esp + 0x1a28], 1
mov byte [esp + 0x1a29], cl
mov dword [esp + 0x220], eax
setne byte [esp + 0x1a2a]
mov word [esp + 0x1a2b], 1
mov byte [esp + 0x1a2d], 2
lea edx, [esp + 0x1a20]
lea ecx, [esp + 0x27e8]
push 1
lea eax, [esp + 0x224]
push eax
call fcn.100c8ea0
add esp, 8
lea ebx, [esp + 0x1a20]
mov ecx, ebx
call fcn.10097ef0
cmp dword [esp + 0x27e8], 0x27
jne 0x100b663c
mov eax, dword [esp + 0x27ec]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x1658], eax
mov dword [esp + 0xc], eax
cmp byte [ecx + 0x41], 0
je 0x100b69dd
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x220]
push dword [esp + 0xc]
call fcn.100c4030
add esp, 4
movzx edx, byte [esp + 0x223]
movzx ecx, word [esp + 0x221]
movzx eax, byte [esp + 0x220]
shl edx, 0x10
mov dword [esp + 0x24], eax
or ecx, edx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x18], ecx
jmp 0x100b6a09
movsd xmm1, qword [esp + 0x2818]
movsd xmm2, qword [esp + 0x2810]
mov eax, dword [esp + 0xcd0]
movsd xmm0, qword [esp + 0x2820]
lea edi, [esp + 0x2560]
mov ecx, 0x11
lea esi, [esp + 0xcdc]
movsd qword [esp + 0x1a50], xmm1
movsd xmm1, qword [esp + 0x2808]
movsd qword [esp + 0x1a48], xmm2
movsd xmm2, qword [esp + 0x2800]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xcd4]
movsd qword [esp + 0x1a58], xmm0
movsd qword [esp + 0x1a40], xmm1
movsd xmm1, qword [esp + 0x27f8]
movsd qword [esp + 0x1a38], xmm2
movsd xmm2, qword [esp + 0x27e8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xcd8]
movsd qword [esp + 0x1a30], xmm1
movsd xmm1, qword [esp + 0x27f0]
movsd qword [esp + 0x1a20], xmm2
mov dword [esp + 0x1c], eax
movsd qword [esp + 0x1a28], xmm1
rep movsd dword es:[edi], dword [esi]
push 0x634
lea eax, [esp + 0xd24]
push eax
lea eax, [esp + 0x640]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x1354]
movzx esi, byte [esp + 0x1363]
movzx edi, word [esp + 0x1361]
mov edx, dword [esp + 0x1364]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1358]
mov dword [esp + 0x10], edi
mov dword [esp + 0x18], edx
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x135c]
mov dword [esp + 0x2c], eax
movzx eax, byte [esp + 0x1360]
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x1a20]
call fcn.10097e40
mov eax, dword [esp + 0x28]
lock dec dword [eax]
jne 0x100b6790
mov edx, dword [esp + 0x4ac]
mov ecx, dword [esp + 0x28]
call fcn.10099a10
xor ebx, ebx
lea ecx, [esp + 0x1798]
call fcn.10095970
shl esi, 0x10
lea ebx, [esp + 0x638]
add dword [esp + 0x10], esi
jmp 0x100b42e1
mov eax, dword [esp + 0x4a8]
lea esi, [esp + 0x4b1]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x4ac]
mov dword [esp + 0x18], eax
movzx eax, word [esi]
mov word [esp + 0xc8], ax
mov ah, byte [esi + 2]
mov byte [esp + 0xca], ah
lock dec dword [ecx]
mov byte [esp + 0x10], 1
jne 0x100b69d0
mov dword [esp + 0xc], 0
call fcn.10099a10
jmp 0x100b63b9
mov eax, dword [esp + 0x640]
movzx edx, word [esp + 0x646]
movzx ebx, byte [esp + 0x645]
mov esi, ecx
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x644]
mov word [esp + 0x10], dx
jmp 0x100b590c
ud2
test eax, eax
je 0x100b6c7f
cmp eax, 1
jne 0x100b6d08
lea eax, [esp + 0x2058]
lea ecx, [esp + 0x1a20]
push ecx
push eax
lea eax, [esp + 0x640]
push eax
call fcn.100108d0
add esp, 0xc
mov eax, dword [esp + 0x640]
mov bh, byte [esp + 0x77c]
movzx ecx, word [esp + 0x646]
mov esi, dword [esp + 0x638]
mov edi, dword [esp + 0x63c]
mov bl, byte [esp + 0x645]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x644]
cmp bh, 3
mov word [esp + 0x10], cx
mov dword [esp + 0x30], eax
je 0x100b6d70
mov eax, dword [esp + 0x648]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x64c]
mov dword [esp + 0x18], eax
lea ecx, [esp + 0x2a70]
push 0x12c
lea eax, [esp + 0x654]
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movzx eax, word [esp + 0x77d]
mov word [esp + 0xe1d], ax
movzx eax, byte [esp + 0x77f]
mov byte [esp + 0xe1f], al
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcd8], esi
mov dword [esp + 0xcdc], edi
mov dword [esp + 0xce0], eax
mov eax, dword [esp + 0x30]
mov byte [esp + 0xce4], al
movzx eax, word [esp + 0x10]
mov byte [esp + 0xce5], bl
mov word [esp + 0xce6], ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0xcec], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0xce8], eax
push 0x12c
lea eax, [esp + 0x2a74]
push eax
lea eax, [esp + 0xcf8]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x103564a0]
mov byte [esp + 0xe1c], bh
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
push 4
push 0x150
call fcn.10001510
add esp, 8
test eax, eax
je 0x100b708c
mov edi, eax
push 0x150
lea eax, [esp + 0xcd4]
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov al, 1
mov dword [esp + 0xc], 0x1024825c
jmp 0x100b6ec1
mov dword [esp + 0xc], 0
jmp 0x100b63b9
mov al, 2
mov dword [esp + 0x224], 0
mov dword [esp + 0x220], 2
mov dword [esp + 0x18], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x24], eax
movups xmm0, xmmword [esp + 0xcd0]
mov eax, dword [esp + 0xce0]
lea esi, [esp + 0xce4]
lea edi, [esp + 0x2560]
mov ecx, 0x11
mov dword [esp + 0x1c], eax
movaps xmmword [esp + 0x30], xmm0
lea eax, [esp + 0xd28]
rep movsd dword es:[edi], dword [esi]
push 0x634
push eax
lea eax, [esp + 0x640]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x135c]
movsd xmm0, qword [esp + 0x4a8]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1360]
movsd qword [esp + 0x1ca0], xmm0
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x1364]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x4b0]
mov dword [esp + 0x1ca8], eax
lea eax, [esp + 0x228]
push 0x280
push eax
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
push 0x28c
push ebx
lea eax, [esp + 0x2060]
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
xor ebx, ebx
lea ecx, [esp + 0x1798]
call fcn.10095970
movdqa xmm1, xmmword [esp + 0x30]
movd ecx, xmm1
pshufd xmm0, xmm1, 0x55
movd eax, xmm0
xor ecx, 3
or ecx, eax
jne 0x100b6b10
movdqa xmm1, xmmword [esp + 0x30]
lea ebx, [esp + 0x638]
pshufd xmm0, xmm1, 0xff
pshufd xmm1, xmm1, 0xee
movd dword [esp + 0xc], xmm0
movd dword [esp + 0x30], xmm1
jmp 0x100b42e1
lea edi, [esp + 0xcec]
lea esi, [esp + 0x2560]
mov ecx, 0x11
lea eax, [esp + 0xd30]
rep movsd dword es:[edi], dword [esi]
push 0x634
lea ecx, [esp + 0x63c]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
lea eax, [esp + 0x1378]
push 0x28c
lea ecx, [esp + 0x205c]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x180]
movaps xmm0, xmmword [esp + 0x30]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1609], eax
mov eax, dword [esp + 0x183]
mov dword [esp + 0x160c], eax
mov eax, dword [esp + 0x1c]
movups xmmword [esp + 0xcd8], xmm0
mov dword [esp + 0xce8], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1364], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x136c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x1368], eax
mov eax, dword [esp + 0x24]
mov byte [esp + 0x1370], al
mov eax, ecx
mov word [esp + 0x1371], cx
shr eax, 0x10
mov byte [esp + 0x1373], al
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1374], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1604], eax
mov eax, dword [0x103564a0]
mov byte [esp + 0x1608], 0
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
push 8
push 0x940
call fcn.10001510
add esp, 8
test eax, eax
je 0x100b706a
mov esi, eax
push 0x940
lea eax, [esp + 0xcd4]
push eax
push esi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [ebp + 8]
mov dword [eax + 4], esi
mov dword [eax + 8], 0x1024a1e4
jmp 0x100b4423
mov edi, dword [esp + 0x18]
mov dword [esp + 0x30], eax
mov esi, 2
jmp 0x100b5910
mov bl, 1
push 0x1024a0a8
push esi
push dword [esp + 0x14]
call fcn.10026930
add esp, 0xc
jmp 0x100b70ac
lea eax, [esp + 0xcd8]
push 0x144
lea ecx, [esp + 0x1a24]
push ecx
push eax
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov eax, dword [0x103564a0]
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
push 4
push 0x14c
call fcn.10001510
add esp, 8
test eax, eax
je 0x100b707b
mov edi, eax
push 0x14c
lea eax, [esp + 0xcd4]
push eax
push edi
call sub.msvcrt.dll_memcpy
mov ecx, edi
add esp, 0xc
mov dword [esp + 0xc], 0x102481d8
mov dword [esp + 0x30], 0
movzx ebx, byte [esp + 0x2061]
jmp 0x100b5940
lea eax, [esp + 0x2062]
lea ecx, [esp + 0x1a20]
push ecx
push eax
lea eax, [esp + 0x640]
push eax
call fcn.1000d330
add esp, 0xc
cmp dword [esp + 0x638], 0
je 0x100b6de5
mov eax, dword [esp + 0x648]
movzx ecx, word [esp + 0x64e]
mov esi, dword [esp + 0x640]
mov edi, dword [esp + 0x644]
movzx ebx, byte [esp + 0x64d]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x64c]
mov word [esp + 0x10], cx
mov dword [esp + 0x30], eax
lea eax, [esp + 0x1a20]
push eax
call fcn.10096eb0
add esp, 4
mov ecx, edi
jmp 0x100b592e
lea eax, [esp + 0x2058]
mov ecx, 0x10249fac
mov dword [esp + 0xcd0], 0x10249fa4
mov dword [esp + 0x2a70], eax
mov dword [esp + 0x2a74], 0x10092080
lea esi, [esp + 0xcd0]
lea edi, [esp + 0x2a70]
mov dword [esi + 4], 1
mov dword [esi + 0x10], 0
mov dword [esi + 8], edi
mov dword [esi + 0xc], 1
push ecx
push esi
call fcn.10026810
add esp, 8
jmp 0x100b70ac
mov eax, dword [esp + 0x64c]
mov edi, dword [esp + 0x644]
mov ebx, dword [esp + 0x648]
mov esi, dword [esp + 0x654]
lea ecx, [esp + 0xcf4]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x650]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x658]
push 0x140
push eax
push ecx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm0, qword [esp + 0x63c]
mov eax, dword [esp + 0x30]
movsd qword [esp + 0xcd8], xmm0
mov dword [esp + 0xce0], edi
mov dword [esp + 0xce4], ebx
mov dword [esp + 0xce8], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xcf0], esi
mov dword [esp + 0xcec], eax
mov eax, dword [0x103564a0]
mov dword [esp + 0xcd0], 1
mov dword [esp + 0xcd4], 1
movzx eax, byte [eax]
push 4
push 0x164
call fcn.10001510
add esp, 8
test eax, eax
je 0x100b709d
mov edi, eax
push 0x164
lea eax, [esp + 0xcd4]
push eax
push edi
call sub.msvcrt.dll_memcpy
add esp, 0xc
mov dword [esp + 0xc], 0x102482e0
mov al, 2
movzx ebx, byte [esp + 0x2061]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x1a20]
push eax
call fcn.10096eb0
add esp, 4
mov ecx, edi
jmp 0x100b6d03
push 0x6a0
push 8
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
mov ecx, 0x102484a0
jmp 0x100b6f3f
mov ecx, 0x102484b4
jmp 0x100b6f3b
mov ecx, 0x10248490
jmp 0x100b6f3f
mov ecx, 0x1024879c
push ecx
push esi
push eax
call fcn.1002a130
add esp, 0xc
jmp 0x100b70ac
push 0x6a0
push 8
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
mov ecx, 0x102484c4
mov edi, dword [esp + 0x30]
push ecx
push eax
push edi
call fcn.10026930
add esp, 0xc
jmp 0x100b70ac
lea eax, [esp + 0x220]
mov dword [esp + 0xcd0], 0x1024a008
mov ecx, 0x1024a010
jmp 0x100b6d9e
mov ecx, 0x10248480
jmp 0x100b6f3f
mov ecx, 0x1024878c
jmp 0x100b6f12
push 0x6b0
push 8
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
mov bl, 1
call fcn.1001a7a0
jmp 0x100b70ac
push dword [esp + 0x10]
push ebx
mov bl, 1
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
mov dword [esp + 0x638], 0x10248504
mov dword [esp + 0x63c], 1
mov dword [esp + 0x640], 0x102481a0
mov dword [esp + 0x644], 0
mov dword [esp + 0x648], 0
lea eax, [esp + 0x2a70]
lea edx, [esp + 0x220]
xor ecx, ecx
push 0x1024850c
lea esi, [esp + 0x63c]
push esi
push eax
call fcn.10099520
add esp, 0xc
jmp 0x100b70ac
push esi
push dword [esp + 0x10]
call fcn.1001baa0
add esp, 8
jmp 0x100b70ac
push 0x14c
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
call fcn.1001a7a0
jmp 0x100b70ac
push esi
push dword [esp + 0x14]
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
push 0x150
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
push 0x164
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
push 0x940
push 8
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
push 0x14c
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
push 0x150
push 4
call fcn.1001a7e0
add esp, 8
jmp 0x100b70ac
push 0x164
push 4
call fcn.1001a7e0
add esp, 8
ud2